我收集如下。
{
"name" : "pqr" ,
"loc" :
[
{"area" : "c" , "country" : "d"},
{"area" : "w" , "country" : "r"}
]
}
我想制作哪个匹配只匹配数组loc的第一个元素
这意味着
仅匹配mongo数组的第一个元素
mongo有可能吗?
如果有人知道plz回复
由于
答案 0 :(得分:3)
因此,如果您只想返回第一个匹配的元素,则应使用limit(n)
并进行如下查询:
1.将区域视为c或国家d然后返回文档。
db.items.find( { $or : [ {"loc.area": "c" } ,
{"loc.country ": "d" } ] } ).limit(1);
2.将区域视为w或国家为r然后不返回元素
db.items.find( { $or : [ {"loc.area": { "$ne" : "w" } },
{"loc.country": { "$ne" : "r" } } ] } ).limit(1);
如果您只想搜索嵌套数组的第一个元素,可以使用位置运算符添加.0.
- > loc.0.area
。
更新:我首先误解了你的问题。现在我看到你正在寻找 loc.0.area 。