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

标签 node.js mongodb express sails.js

我有包含多条记录的 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/

相关文章:

node.js - Mongoose 输出错误 "Error: connection closed"

node.js - 在 Node 中使用 mongoosejs 更新多条记录

mongodb - 通过 Mongoose、Node.js、MongodB 中的特定属性查找嵌入式文档

c# - Mongo C# 驱动程序指标

mongodb - 在 meteor 生产服务器中恢复一个 mongodb

mysql - 使用 ExpressJS 在服务器中存储图像

node.js - 我无法通过名称连接到我的 mongo docker 容器

javascript - 一次将单个对象导出到 JSON 文件中的对象数组

html - Express + AngularJS + HTML : ng-include not working (404 - Page not found error)

node.js - 解析具有强大文件名的表单值