我有多个记录的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(...);
您可以使用$elemMatch
查询来实现此目的。
Collection.find({ universities: { $elemMatch: { city: "Chennai" } } }).exec(...);