Paginate数组在文件mongodb聚合中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Paginate数组在文件mongodb聚合中相关的知识,希望对你有一定的参考价值。

我有用户集合,每个文档都有子文档(跟随/关注者),我想创建API以获取用户的关注者

此查询工作正常但我正在尝试创建一个分页结果,例如每页获得10个结果

{
        $match: { username: new RegExp(username, "i") }
      },
      {
        $unwind: "$followers"
      },
      {
        $lookup: {
          from: "users",
          localField: "followers",
          foreignField: "_id",
          as: "info"
        }
      },
      {
        $unwind: "$info"
      },
      {
        $project: {
          info: {
            _id: 1,
            username: 1,
            avatar: { $ifNull: ["$info.avatar", ""] },
            fullname: { $ifNull: ["$info.fullname", ""] },
            follow_status: {
              $cond: [{ $in: ["$info._id", "$followed"] }, 1, 0]
            }
          }
        }
      },
      {
        $replaceRoot: { newRoot: "$info" }
      } 

感谢您的支持

我使用https://github.com/NetanelBasal/paginate-array库在聚合阶段后对数组进行分页。

答案

https://www.npmjs.com/package/mongoose-paginate这个插件库是我用来分页所有需要它的API调用的,它可以是超级基本的或超级复杂的,很容易插入到前端以及

以上是关于Paginate数组在文件mongodb聚合中的主要内容,如果未能解决你的问题,请参考以下文章

Mongodb 使用聚合框架过滤深度嵌套的数组

如何在 mongodb 聚合中展开嵌套对象数组?

MongoDB 实用数组聚合操作 (2)

MongoDB聚合在根中创建内部数组

在 MongoDB 中聚合双嵌套数组的文档

MongoDB在具有附加字段的对象数组上聚合$lookup