2

如何通过 mongo shell 将文件“上传”到我的 MongoDB 以及如何检索同一个文件?我想知道,即使这样做了,输出是什么。

我认为展示我所做的将表明我的尝试是多么愚蠢。

db.fs.files.insert("foo.txt");

这似乎只是插入实际文本而不是我想要的文档......并且检索,我发现

db.fs.files.retrieve()

不是函数。find() 只是显示给我......但我想要打印实际文档的内容,无论是二进制数据还是我不在乎,哈哈。

对于这种悲惨的尝试,我感到很抱歉——但也许它表明我对 GridFS 能做什么知之甚少——也许除了使用之外,还有人可以为我解决这个问题。

4

2 回答 2

9

从命令行你可以使用 mongofiles:http ://www.mongodb.org/display/DOCS/GridFS+Tools

mongofiles put yourfile.txt
cd /tmp
mongofiles get yourfile.txt

第一行将文件 yourfile.txt 放入 mongodb。第二个在文件系统的另一个位置检索它。

我认为直接从 mongo shell 使用 GridFS 是不可能的。

从python你可以使用:

    class gridfs.GridFS(database, collection='fs')

http://api.mongodb.org/python/current/api/gridfs/index.html#gridfs.GridFS

对于应该使用什么 GridFS:

http://www.mongodb.org/display/DOCS/When+to+use+GridFS

于 2012-06-21T18:44:38.143 回答
0

将文件从路径插入到gridFs

mongofiles -d foorbar -l "D: \ Work \ MongoDB \ GridFS test .txt" put "GridFSTest.txt"

于 2016-08-04T10:34:37.120 回答