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

问题描述 投票:1回答:1

这个问题在这里已有答案:

我有这个聚合查找命令:

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

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

mongodb mongoose aggregation-framework
1个回答
1
投票

试试这个:

aggregate([
    { $lookup: {
          from: 'phonecalls',
          localField: 'phone',
          foreignField: 'to',
          as: 'phonecalls'
       }
    },
    { $unwind:"$phonecalls", preserveNullAndEmptyArrays: true }, 
    { $sort:{ "phonecalls.date":-1 } }, 
    { $limit:1 }, 
    { $project:{ lastphonecall: "$phonecalls" } }
]);
© www.soinside.com 2019 - 2024. All rights reserved.