[英]MongoDB aggregate from adjustable foreign collections
我在 orders 集合中的文档有_client
键,它是对另一个集合中另一个实体的 ObjectId 引用。 集合可以是组织,也可以是用户- 我的意思是 - 它是变量集合。 我想告诉 Mongo 查找是否在两个集合中都找到了 _client id。
{
$lookup: {
from: "users", // could be "organizations"
let: { "client": "$_client" }, // could be "_organization"
pipeline: [
{ $match: { $expr: { $eq: ["$_id", "$$client"] }}},
],
as: "client"
}
},
{
$unwind: "$client"
},
我试图刚刚成立两个看起坐,一次_client,一个用于_组织结构其中有一个缺失然而,当我刚刚都没有结果。
$unwind
过滤掉数组为空且不包含任何元素的文档。
所以,你必须使用preserveNullAndEmptyArrays
并将其设置为true
{ "$unwind": { "path": "$client", "preserveNullAndEmptyArrays": true }}
和organizations
相同
{ "$unwind": { "path": "$organization", "preserveNullAndEmptyArrays": true }}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.