MongoDB查询没有返回结果。

8
你好,我刚开始使用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
    }
})
2个回答

8

您可以通过以下步骤找到所需的文档:

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

非常感谢,这个方法运行得非常好!我猜我的语法有误。 - vcazan
我认为问题在于你嵌套的方法。正如你所注意到的,你可以简单地使用点号。 - Manticore

2
点号表示法(如thtsigma的回复中所示)允许您进入嵌套文档并进行搜索。您尝试的第二种方法是要求返回一个仅包含“tableid”:205的嵌套文档的消息。请注意保留HTML标记。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接