【问题标题】:How to get embedded document in mongodb? [duplicate]如何在 mongodb 中获取嵌入式文档? [复制]
【发布时间】:2020-03-08 00:03:14
【问题描述】:

我尝试使用 mongodb 在表中获取嵌入文档,但它不起作用。

开发表

[{
"id":1,
"data":[{"id":1,"name":true},{"id":2,"name":true},{"id":3,"name":false},{"id":1,"name":true}]
}]

查询

db.dev,find({data.name:true})

异常输出

[{
"id":1,
"data":[{"id":1,"name":true},{"id":2,"name":true}]
}]

我得到了输出

[{
"id":1,
"data":[{"id":1,"name":true},{"id":2,"name":true},{"id":3,"name":"false"},{"id":1,"name":true}]
}]

如何编写查询以匹配预期输出。可以给示例代码

【问题讨论】:

  • @ Jesús Ros 我试过这个查询 db.test.find( {"data.name": true}, {_id: 0, data: {$elemMatch: {name: true}}}) ;.但是我只有单条记录输出:[{ id:1 data:[{ "id":1, "name": true }] }],我需要所有真实条件输出 [{ "id":1, "data" :[{"id":1,"name":true},{"id":2,"name":true},,{"id":1,"name":true}] }]。如何实现它

标签: mongodb mongoose mongodb-query


【解决方案1】:

试试这个解决方案

let whereClause = { "data.name":true };
    await db.dev.find(whereClause);

【讨论】:

    猜你喜欢
    • 2012-04-20
    • 1970-01-01
    • 2020-12-27
    • 2016-11-12
    • 1970-01-01
    • 2021-03-24
    • 2017-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多