【发布时间】:2023-03-28 19:34:02
【问题描述】:
我需要查询 mongoDb 的帮助
所以我有两个类似的集合
集合 A:
{someField: "123", anotherField: "456"},
{someField: "1234", anotherField: "4567"}
集合 B
{someField: "123", otherField: "789"}
带查询:
db.A.aggregate([
{
$lookup:
{
from: "B",
let: { someField: "$someField", otherField: "$otherField" },
pipeline: [
{ $match:
{ $expr:
{ $and:
[
{ $eq: [ "$someField", "$$someField" ] },
{ $eq: [ "$otherField", "789" ] }
]
}
}
},
],
as: "B"
}
}
])
我得到了所有集合 A,{someField: "1234", anotherField: "4567"} 中的 B 为空
我想要达到的效果是这样的:
{someField: "123", anotherField: "456", b: {someField: "123", otherField: "789"}}
提前谢谢你
【问题讨论】:
-
如果
B数组大小大于零(参见$size),您可以在查找后过滤文档。 -
@prasad_ 怎么做?请指教
-
请查看更新后的代码。
标签: mongodb mongodb-query