猫鼬查找特定领域的x文档

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

我有一个视频集合,每个视频文档都有user_id。我需要获取每个用户的最后5个视频。

不知道从哪里开始...尝试分组没有成功。

任何帮助将不胜感激。

node.js mongodb mongoose
1个回答
0
投票

尝试一下此管道:

db.collection.aggregate([
    {
        $sort: { _id: -1 }
    },
    {
        $group: {
            _id: "$user_id",
            videos: { $push: "$$ROOT" }
        }
    },
    {
        $project: {
            _id: 0,
            user_id: "$_id",
            videos: { $slice: ["$videos", 5] }
        }
    }
])

https://mongoplayground.net/p/6NOOJDnfIhk

© www.soinside.com 2019 - 2024. All rights reserved.