【问题标题】:mongoose lookup (join) and project only last one [duplicate]猫鼬查找(加入)和项目只有最后一个[重复]
【发布时间】:2017-09-09 19:05:11
【问题描述】:

我有这个聚合查找命令:

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

我只想获得我打的最后一个“电话”(按日期字段)。 我该怎么做?

【问题讨论】:

    标签: mongodb mongoose aggregation-framework


    【解决方案1】:

    试试这个:

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

    【讨论】:

    • 这不起作用。这使得整个聚合的限制为 1。我想获取我找到的所有项目,并且只对电话进行限制,而不是包含查询。
    猜你喜欢
    • 1970-01-01
    • 2021-10-24
    • 2019-04-25
    • 2015-09-30
    • 2017-07-18
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-03
    相关资源
    最近更新 更多