mongodb数组中的匹配元素
我收集的资料如下mongodb数组中的匹配元素,mongodb,mongo-scala-driver,Mongodb,Mongo Scala Driver,我收集的资料如下 { "name" : "pqr" , "loc" : [ {"area" : "c" , "country" : "d"}, {"area" : "w" , "country" : "r"} ] } 我想让哪个匹配只匹配数组loc的第一个元素 这意味着如果 将区域指定为c或国家d,然后返回文档 将面积指定为w或国家/地区指定为r,则不返回元素 仅匹配mongo数组的第一个元素 这在mongo可能吗 如果有人知道,请回复 谢谢如果您只想返回第
{
"name" : "pqr" ,
"loc" :
[
{"area" : "c" , "country" : "d"},
{"area" : "w" , "country" : "r"}
]
}
我想让哪个匹配只匹配数组loc的第一个元素
这意味着如果
谢谢如果您只想返回第一个匹配的元素,您应该使用
limit(n)
和如下查询:
1.给出区域c或国家d,然后返回文件
2.将面积指定为w或国家/地区指定为r,则不返回元素
如果只想在嵌套数组的第一个元素中搜索,可以使用位置运算符通过添加.0.
->loc.0.area
更新:我首先误解了你的问题。现在我看到您正在查找loc.0.area
db.items.find( { $or : [ {"loc.area": "c" } ,
{"loc.country ": "d" } ] } ).limit(1);
db.items.find( { $or : [ {"loc.area": { "$ne" : "w" } },
{"loc.country": { "$ne" : "r" } } ] } ).limit(1);