我通过以下方式将来自不同馆藏的记录与mongodb联系起来:
mongoose.model(job.data.dataset).aggregate([
{
$lookup: {
from: "btc.mobile.accountList",
localField: "account",
foreignField: "account",
as: "userAccountData"
}
},
{
$lookup: {
from: "btc.mobile.imsiList",
localField: "imsi",
foreignField: "imsi",
as: "userImsiData"
}
},
{
$lookup: {
from: "btc.mobile.productList",
localField: "tariffCode",
foreignField: "tariffCode",
as: "userProductData"
}
},
{ $unwind: { path: "$userAccountData", preserveNullAndEmptyArrays: true }},
{ $unwind: { path: "$userImsiData", preserveNullAndEmptyArrays: true }},
{ $unwind: { path: "$userProductData", preserveNullAndEmptyArrays: true }}
], function(err, result){
});
预期结果是一个json对象,它包含同一级别的不同集合中的所有属性。
但在这种情况下,它会合并所有内容,然后在结果中提供聚合集合。我想要做的是获取每个聚合的结果,然后我可以单独处理每个记录。
我该怎么做?
我希望能够将Javascript中的几个函数应用到链接记录中。 LIke检查属性的长度是否> 10.或者另一种财产的类型是什么。