【发布时间】:2021-01-13 21:57:00
【问题描述】:
在Element里面我有一个associations的数组,这些关联是一个集合。
这个集合是obj 由许多键组成,在这些键中有一些元素引用其他集合(obj、obj2)我想填充这两个集合。
但我无法理解它是如何做到的,甚至尝试做尽可能少的操作。
据我了解,您可能需要使用$unwind。
元素:
{
_id: "",
element: "",
associations: [],
updatedAt: "",
createdAt: ""
}
协会:
{
_id: "",
code: "",
obj: "5s5s55s5d555dff", //populate - Schema.Types.ObjectId - ref: 'objGroup'
obj2: "5f5e5e5e5d5d5d5", //populate - Schema.Types.ObjectId - ref: 'obj2Group'
updatedAt: "",
createdAt: ""
}
在元素中:
aggregate.push({
$lookup: {
from: 'associations',
let: { cId: '$_id' },
pipeline: [
{ $match: { $expr: { $eq: ['$code', '$$cId'] } } },
{ $match: { $or: getTimeRange(from, to) } }
],
as: 'associations'
}
})
【问题讨论】:
标签: mongodb mongoose mongodb-query aggregation-framework mongoose-populate