我有包含多条记录的 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(...);
关于node.js - 如何在MongoDB中的数组对象中查找包含字符串的集合记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54706333/