MongoDB - 从对象内的数组中查找数据

标签 mongodb mongodb-query spring-data-mongodb

我的数据库采用以下形式

{
"_id" : ObjectId("56fc92adcf908c9f296e5885"),
"_class" : "com.abc.ppm.dto.AccessAttemptDTO",
"url" : "/myProject/edit",
"ipAddress" : "127.0.0.1",
"param" : {
    "iecode" : [ 
        "P1234"
    ],
    "id" : [ 
        "5696578c6d34f835dc632fdd "
    ]
},
"accessTime" : "30-3-2016 10:59:57",
"email" : "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="25444746654248444c490b464a48" rel="noreferrer noopener nofollow">[email protected]</a>",
"entity" : "admin",
"entityCode" : ""
},

{
"_id" : ObjectId("56fc92adcf908c9f296e5887"),
"_class" : "com.abc.ppm.dto.AccessAttemptDTO",
"url" : "/myProject/edit",
"ipAddress" : "127.0.0.1",
"param" : {
    "iecode" : [ 
        "P1122"
    ],
    "id" : [ 
        "5696578c6d34f835dc632fdd "
    ]
},
"accessTime" : "30-3-2016 10:59:57",
"email" : "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="dabbb8b99abdb7bbb3b6f4b9b5b7" rel="noreferrer noopener nofollow">[email protected]</a>",
"entity" : "admin",
"entityCode" : ""

}

现在我想找到所有 iecode 为“P1234”的条目。我怎么做? (注:iecodes值以字符串数组格式存储。)

最佳答案

您可以编写如下查询:

db.collectionName.find({"param.iecode": "P1234"})

关于MongoDB - 从对象内的数组中查找数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37087048/

相关文章:

c# - 失去连接后MongoDB从当前位置继续

node.js - 类似于 Node 和 mongoose 的存储库模式

mongodb - 如何在 MongoDB 中获取以字段开头字母(A 到 Z)的随机文档?

mongodb - 聚合、从 2 个集合中查找并提取结果

java - Spring Data Mongo - 如何通过@DBRef 字段的 id 进行查询

java - 如何配置嵌入式 MongoDB 并进行身份验证以在 Spring Boot 集成测试中使用?

Python:将整个 JSON 目录转换为 Python 字典以发送到 MongoDB

mongodb - 从 mgo (golang+MongoDB) 中的嵌入式数组中检索元素

javascript - 如何从 Mongoose 的集合中排除一个特定字段?

java - 如何在 ReactiveCrudRepository @Tailable 中创建方法