0

我的大部分查询都使用 MongoHub。我注意到当我填写搜索条件时它会生成一个 mongo 命令。

例如,它将生成如下内容:

db.myDatabase.myCollection.find().sort({ "_id": 1}).skip(0).limit(30)

当我输入db.myDatabase.myCollection.find()mongo shell 命令时,没有返回任何内容。(也不会生成错误消息)。

相反,如果我输入:

{
use myDatabase
db.myCollection.find()
}

然后我得到结果。

有人知道mongo是如何解释的db.[???].[????].find()吗?

4

2 回答 2

2
db.[???].[????].find()

实际上使用符号创建了一个子集合,例如:

> db.gt.gf.insert({g:1})
> show collections
gt.gf
system.indexes

因此,即使它是有效的,它也可能不是您想要的。

于 2013-08-13T07:15:15.453 回答
0

正确的语法是

use <dbname>;
db.<collname>.find()

我没有使用 MongoHub,但如果它是您正在查看的日志,它可能会将数据库名称放在字符串/日志中以供参考?

http://docs.mongodb.org/manual/reference/method/

于 2013-08-13T00:26:36.687 回答