如何通过mongo shell将文件“上传”到MongoDB以及如何检索同一个文件?我想知道,在这样做之后,甚至是什么输出。
我认为展示我所做的将表明我的尝试是多么愚蠢。
db.fs.files.insert("foo.txt");
这似乎只是插入实际文本而不是我想要的文件......并且要检索,我发现
db.fs.files.retrieve()
不是一个功能。 ,()只是显示给我...但我想要打印实际文件的内容,无论是BINARY数据还是w / e我都不在乎,哈哈。
我很抱歉这种悲惨的尝试 - 但也许它表明我对GridFS可以做什么知之甚少 - 除了用法之外,也许有人可以为我清楚。
答案 0 :(得分:8)
从命令行,您可以使用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:
答案 1 :(得分:0)
将文件从路径
插入gridFs mongofiles -d foorbar -l "D: \ Work \ MongoDB \ GridFS test .txt" put "GridFSTest.txt"