我正在使用来自http://docs.mongodb.org/manual/reference/bios-example-collection的The bios Example Collection 来教育自己查询mongodb.
我想检索有关所获得的奖项信息_id:1的年份:1975.
我尝试了几个查询
bios.find({
"_id" : 1,
"awards" : {
"year" : 1975
}
});
Run Code Online (Sandbox Code Playgroud)
但我从来没有收到适当的文件.如何在阵列中检索此文档?
mne*_*syn 37
你必须使用点符号:
bios.find({"_id" : 1, "awards.year" : 1975 });
Run Code Online (Sandbox Code Playgroud)
这是一个相当无意义的查询,因为你_id
在查询中也有,但我想这是因为你正在玩一个例子.此外,你说你正在寻找1967年的奖项,但代码说1975年.
如果搜索"awards" : { "year" : 1975 }
,mongodb将查找整个子文档的完全匹配awards
.在这种情况下,这不是你想要的.此外,由于awards
是一个数组,这将始终是假的.如果您想在列表中查找特定的奖励文档,$elemMatch
那么将是最佳选择.
归档时间: |
|
查看次数: |
30715 次 |
最近记录: |