我开始在Meteor应用程序中使用GridFS。我已经设置了文件集" assetFiles"使用这样的GridFS存储适配器:
AssetCollection = new Mongo.Collection( "assets" );
AssetFileStore = new FS.Store.GridFS( "assetFiles" );
AssetFilesCollection = new FS.Collection( "assetFiles", {
stores: [AssetFileStore]
});
AssetFilesCollection.allow({
insert: function(){
return true;
},
update: function(){
return true;
},
remove: function(){
return true;
},
download: function(){
return true;
}
});
我已经在其中插入了一些文件并使用meteor mongo客户端检查它们实际存在于db。
现在我想使用mongofiles实用程序从此db中提取文件到我的文件系统。
使用meteor mongodb数据库,这里是集合列表:
meteor:PRIMARY> show collections
assets
cfs._tempstore.chunks
cfs.assetFiles.filerecord
cfs_gridfs._tempstore.chunks
cfs_gridfs._tempstore.files
cfs_gridfs.assetFiles.chunks
cfs_gridfs.assetFiles.files
meteor_accounts_loginServiceConfiguration
system.indexes
users
而且我不明白如何使用mongofiles实用程序来定位我的assetFiles GridFS文件集以获取特定文件甚至文件列表。
这是我的尝试:
./mongofiles -h 127.0.0.1:3001 -d meteor list
2015-05-11T17:34:40.701+0200 connected to: 127.0.0.1:3001
成功连接到db时,它只返回任何内容。 我的数据库在我自己的FS上。我想指定一个集合名称,但这个参数显然不再存在。
感谢您的帮助!
答案 0 :(得分:3)
您需要更改前缀以附加到正确的集合。
$ mongofiles --help
....
--prefix= GridFS prefix to use (default is 'fs')`
例如。
mongofiles --port 3001 -d meteor --prefix 'cfs_gridfs.assetFiles' list
希望这有帮助! 请接受,谢谢!