如何查找集合记录包含MongoDB中数组对象中的字符串?

问题描述 投票:0回答:1

我有多个记录的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(...);
node.js mongodb express sails.js
1个回答
3
投票

您可以使用$elemMatch查询来实现此目的。

Collection.find({ universities: { $elemMatch: { city: "Chennai" } } }).exec(...);

© www.soinside.com 2019 - 2024. All rights reserved.