聚合$ Lookup的几个mongodb集合

时间:2018-02-01 16:12:32

标签: mongodb aggregate lookup

我通过以下方式将来自不同馆藏的记录与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.或者另一种财产的类型是什么。

0 个答案:

没有答案