【发布时间】: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