【发布时间】:2017-08-24 22:02:59
【问题描述】:
我正在尝试运行此聚合,但无法使用聚合选项参数获得结果,这是怎么回事?这是我的汇总:
var coupons = couponModel.aggregate(
[
{
"$lookup": {
from: "campaigns",
localField: "campaignId",
foreignField: "_id",
as: "campaigns"
}
},
{ "campaignId": { "$in": campaignsIds } },
],
{
allowDiskUse: true,
explain: true
}
);
也尝试不同的结构:
couponModel.aggregate(
[
{
"$lookup": {
from: "campaigns",
localField: "campaignId",
foreignField: "_id",
as: "campaigns"
}
},
{ "campaignId": { "$in": campaignsIds } },
],
function(err,result) {
if (err) return handleError(err);
// Result is an array of documents
console.log(result);
}
)
【问题讨论】:
-
尝试
{ $match: { "$in": campaignsIds } }而不是{ "campaignId": { "$in": campaignsIds } } -
感谢@Veeram 成功了!