6

您好,我刚刚开始使用 mongo 并正在尝试运行基本的 find() 命令。

我有一个包含如下记录的集合:

{
"event" : "cheat",
"message" : {
    "tableid" : 205,
    "time" : 1381853433038,
    "link" : "/dbcheat/table205/iID3731"
},
"_id" : ObjectId("525d68f999ddc6a019000004")
}

例如,我想查找所有具有 tableid 205 的条目。如果我运行这个命令,我会回到这一行。

db.example.find({
"message" : {
    "tableid" : 205,
    "time" : 1381853433038,
    "link" : "/dbcheat/table205/iID3731"
}
})

但是,如果我只是尝试运行此命令,我将返回零结果。有谁知道可能是什么问题?

db.example.find({
    "message" : {
        "tableid" : 205
    }
})
4

2 回答 2

8

您应该能够通过执行以下操作找到所需的文档:

db.example.find({ "message.tableid": 205 })
于 2013-10-16T14:26:04.347 回答
2

来自 thtsigma 的回复中的点符号允许您访问嵌入式文档并进行搜索。您尝试的第二种方法是说带回一个嵌入的消息文档,该文档“仅”具有以下内容:“tableid”:205

于 2014-06-12T00:05:27.193 回答