看似基本的MongoDB GridFS命令......我找不到

Pin*_*ade 2 mongodb gridfs

如何通过mongo shell将文件"上传"到我的MongoDB以及如何检索同一个文件?我想知道,在这样做之后,甚至是什么输出.

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

db.fs.files.insert("foo.txt");
Run Code Online (Sandbox Code Playgroud)

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

db.fs.files.retrieve()
Run Code Online (Sandbox Code Playgroud)

不是一个功能.,find()只显示给我...但是我想要打印实际文档的内容,无论是BINARY数据还是w/e我都不在乎,哈哈.

对于这种悲惨的尝试我感到很遗憾 - 但也许它表明我对GridFS可以做什么知之甚少 - 也许有人可以在使用之外为我清除这一点.

Fre*_*oth 8

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

mongofiles put yourfile.txt
cd /tmp
mongofiles get yourfile.txt
Run Code Online (Sandbox Code Playgroud)

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

我认为不可能直接从mongo shell使用GridFS.

从python你可以使用:

    class gridfs.GridFS(database, collection='fs')
Run Code Online (Sandbox Code Playgroud)

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

对于应该使用的GridFS:

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