2013-10-16 138 views
3

你好,我刚刚开始使用mongo,并试图运行一个基本的find()命令。mongodb发现没有返回结果

我有了看起来像这样记录的集合:

{ 
"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 
    } 
}) 

回答

6

您应该能够这样做,找到所需的文件执行以下操作:

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

非常感谢,它像一个魅力一样工作!猜猜我的语法错了。 – vcazan

+0

我相信问题是你的方法来嵌套它。正如你注意到的,你可以简单地使用点 – Manticore

0

像从thtsigma答复中的点表示法可以让你深入到嵌入文档和搜索。你尝试的第二种方式是说带回一个嵌入式文件,该文件仅包含以下内容:“tableid”:205