1

我有一个 MongoDB,在 2 个服务器副本集上有一个受密码保护的数据库“files_db”。当我直接登录时,使用命令行选项提供用户名/密码它可以工作,并且我看到 GridFS 集合“文档”(非标准名称)包含很多文件。但是,当我尝试使用 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 个文件进行检查。

4

2 回答 2

0

-c 被忽略。没有指定 gridfs 命名空间的参数。

于 2013-12-04T14:17:15.197 回答
0

请参阅在流星应用程序中使用带有 GridFS 的 mongofiles - 堆栈溢出,该collection选项实际上是prefix->mongofiles --help显示此:

--prefix=<prefix>     GridFS prefix to use (default is 'fs') (default: fs)

并参考列表前缀

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
于 2019-02-18T10:26:45.967 回答