猫鼬查找(加入)和项目只有最后一个

时间:2017-04-13 15:13:46

标签: mongodb mongoose aggregation-framework

我有这个聚合查找命令:

aggregate.lookup({
    from: 'phonecalls',
    localField: 'phone',
    foreignField: 'to',
    as: 'phonecalls'
});

我想只得到我做的最后一次“电话”(按日期字段)。 我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

试试这个:

aggregate([
    { $lookup: {
          from: 'phonecalls',
          localField: 'phone',
          foreignField: 'to',
          as: 'phonecalls'
       }
    },
    { $unwind:"$phonecalls", preserveNullAndEmptyArrays: true }, 
    { $sort:{ "phonecalls.date":-1 } }, 
    { $limit:1 }, 
    { $project:{ lastphonecall: "$phonecalls" } }
]);