MongoDB GridFS
默认情况下,GridFS 使用 fs.files 和 fs.chunks 两个来存储文件的元数据和块。每个区块都由其的 ObjectId(_id)字段标识。fs.files 用作父文档,fs.chunks 文档中的 files_id 字段将块链接到其父级。
下面展示了一个简单的 fs.files 文档:
该文档指定了文件的文件名、块大小、上传日期和长度。下面展示了一个简单的 fs.chunks 文档:{
"filename": "test.txt",
"chunkSize": NumberInt(261120),
"uploadDate": ISODate("2014-04-13T11:32:33.557Z"),
"md5": "7b762939321e146569b07f72c62cca4f",
"length": NumberInt(646)
}
{
"files_id": ObjectId("534a75d19f54bfec8a2fe44b"),
"n": NumberInt(0),
"data": "Mongo Binary Data"
}
将文件添加到 GridFS
想要将文件添加到 GridFS 中,可以使用 put 令。下面的示例中演示了使用 put 令在 GridFS 中存储 mp3 文件的过程。在存储文件时我们需要使用 mongofiles.exe,它在 MongoDB 安装目录下的 bin 目录中。打开令行工具,跳转到 mongofiles.exe 所在的目录并输入以下代码:
C:\Users\79330>mongofiles.exe -d gridfs put F:/code/music/song.mp3
2021-03-09T09:38:22.271+0800 connected to: localhost
2021-03-09T09:38:22.333+0800 added file: F:/code/music/song.mp3
提示:若已经将 MongoDB 安装目录下的 bin 目录添加到了 Path 环境变量中,则可以省略跳转到 bin 目录的步骤,直接在令行工具中输入以上令即可。
上面令中 gridfs 为要存储文件的数据库名称,如果数据库不存在,那么 MongoDB 会自动创建;F:/code/music/song.mp3 为要存储文件的路径以及名称。若要查看我们上面保存在数据库中的文档,可以使用 find() 令:
我们还可以通过上面查询中返回的文档 ID 来查看 fs.chunks 中与存储文件相关的所有数据:> db.fs.files.find().pretty()
{
"_id" : ObjectId("6046d18e01ef664194f5a78c"),
"chunkSize" : 261120,
"uploadDate" : ISODate("2021-03-09T01:38:22.341Z"),
"length" : 4148442,
"md5" : "cc3495f49ece8212906ef5c59e7440f0",
"filename" : "F:/code/music/song.mp3"
}
> db.fs.chunks.find({files_id:ObjectId('6046d18e01ef664194f5a78c')})
上面的查询返回了 15 个文档的数据,这意味着前面我们存储的 song.mp3 文件被存储到了 15 个区块中。
- 随机文章
- 核心危机(核心危机魔石合成攻略)
- 饿了么红包怎么用(饿了么红包怎么用微信支付)
- 儿童教育文章(儿童教育)
- 广州4a广告公司(广州4a广告公司创意总监年薪)
- 抖音卡(抖音卡顿怎么解决)
- 陈武简历
- 海猫鸣泣之时游戏(海猫鸣泣之时游戏在哪玩)
- 韩国媳妇和小雪(韩国媳妇和小雪的父亲工资是多少)
- 儋州市第二中学(儋州市第二中学录取分数线)
- 鬼泣5攻略(鬼泣5攻略第三关怎么跳)
- 地球日主题(2020年世界地球日主题)
- 和柳亚子(和柳亚子先生于田)
- 冰客(冰客果汁)
- yy魔兽(yy魔兽世界)
- 国外成人游戏(国外成人游戏注册需要visa信用卡)
- 充值卡代理(充值卡代理加盟)
- 拆奶罩
- 郭妮小说(恶魔的法则郭妮小说)
- 东天目山(东天目山景区)
- 杭同(杭同培训中心怎么样)
- 蝙蝠给人类的一封信(蝙蝠给人类的一封信)
- 大松电饭煲(美的大松电饭煲)
- 服饰加盟(服饰加盟店招商)
- 疯狂填字(疯狂填字5)
- 点对点短信息(点对点短信息费是什么意思)
- 观音普门品(观音普门品念诵全文)
- 河北省大运会(河北省大运会时间)
- 骇客神条(骇客神条怎么辨别真假)
- 杜星霖(杜星霖图片)
- 查传倜(查传倜个人生活)
