我有一个MongoDB,在2服务器副本集上有一个受密码保护的数据库'files_db'。当我直接登录时,使用命令行选项来提供用户名/密码它是有效的,我看到GridFS集合'documents'(非标准名称)包含大量文件。当我尝试使用Mongofiles访问它们时,我似乎无法访问这些文件:
[username@mongoserver ~]$ mongo 1.2.3.4/files_db -u username -p 'password'
MongoDB shell version: 2.2.3
connecting to: 1.2.3.4/files_db
> db.documents.files.count()
392743
> exit
bye
[username@mongoserver ~]$mongofiles -vvv --host 1.2.3.4 -d 'files_db' -c 'documents' -u username -p 'password' list
Fri Jul 1 4:55:43 creating new connection to:1.2.3.4:27017
Fri Jul 1 4:55:43 BackgroundJob starting: ConnectBG
Fri Jul 1 4:55:43 connected connection!
connected to: 1.2.3.4
[username@mongoserver ~]$
我不明白为什么。起初我有密码问题,用户/通行证在另一个数据库,所以我修复了。它可能与副本集相关吗?我相信我是初级的。我只是想要检索2或3个文件进行检查。
答案 0 :(得分:0)
-c被忽略。没有参数指定gridfs名称空间。
答案 1 :(得分:0)
请参考Using mongofiles with GridFS in a meteor app - Stack Overflow,collection
选项实际上是prefix
-> mongofiles --help
显示以下内容:
--prefix=<prefix> GridFS prefix to use (default is 'fs') (default: fs)
并参考list prefix:
list <prefix>
Lists the files in the GridFS store. The characters specified after list (e.g. <prefix>) optionally limit the list of returned items to files that begin with that string of characters.
您的命令应为:
mongofiles -vvv --host 1.2.3.4 -d files_db username -p password list documents