我有多个记录的MongoDB集合。每个记录都有一个数组,其中包含具有多个字段的对象。
我有如下收藏:
[{
"name" : "Karthik Thurairaja"
"universities" : [
{
"name" : "Anna University",
"city" : "Chennai"
},
{
"name" : "Punjab University",
"city" : "Chandigarh"
},
{
"name" : "University of Delhi",
"city" : "New Delhi"
}
],
},
{
"name" : "Sathish Kumar"
"universities" : [
{
"name" : "Anna University",
"city" : "Chennai"
},
{
"name" : "University of Hyderabad",
"city" : "Hyderabad"
},
{
"name" : "University of Delhi",
"city" : "New Delhi"
}
],
}]
我需要查找大学城市等于钦奈的所有记录。
我尝试过如下查询:
Collection.find({ universities.city : "Chennai" }).exec(...);
答案 0 :(得分:3)
您可以使用$elemMatch
查询来实现此目的。
Collection.find({ universities: { $elemMatch: { city: "Chennai" } } }).exec(...);