如何使用聚合在猫鼬中对文档数组进行分页?

itzThiefz.exe

我想对称为“ Reviews”的文档数组进行分页,但我找不到解决方法,因为我执行的代码是为我而不是对文档“ Reviews”的数组进行分页。

您尝试运行的代码

return await this.animeModel
  .aggregate()
  .match({ _id: Types.ObjectId(reviewPaginateData.animeId) })
  .unwind('$reviews')
  .group({
    _id: '$_id',
    reviews: { $push: '$reviews' },
  })
  .sort(reviewPaginateData.sort)
  .limit(reviewPaginateData.limit)
  .skip(reviewPaginateData.limit * reviewPaginateData.skip)
  .exec();

文件结构

文件结构

有什么办法解决这个问题?提前非常感谢您。

维杰(Vijay Rajpurohit)

我对猫鼬没有太多的经验,但是我可以编写一个shell查询来对数组执行分页。因此,您可以将其集成到猫鼬中。

无法分页的原因是您正在应用skiplimit之后又将group数组作为输出。因此,要将分页应用于数组本身,需要$slice更多信息,请点击此处

db.collection.aggregate([
  {
    $match:{
      "_id":ObjectId("xyz")
    }
  },
  {
    $unwind:"$reviews"
  },
  {
    $group:{  
      "_id":"$_id",
      "reviews":{
        $push:"$reviews"
      }
    }
  },
  {
    $sort:{
      sort_value:1
    }
  },
  {
    $project:{
      "reviews":{
        $slice:[
          "$reviews",
          skip_value,
          limit_value
        ]
      }
    }
  }
]).pretty()

希望这会有所帮助:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用聚合在猫鼬中添加值进行排序?

来自分类Dev

聚合猫鼬文档中的数组

来自分类Dev

使用诺言和猫鼬对文档进行排序

来自分类Dev

如何使用聚合在一个mongo文档中独立对多个数组进行排序

来自分类Dev

如何使用猫鼬进行分组/聚合?

来自分类Dev

查询父级时如何获取猫鼬子文档数组中的聚合值总和?

来自分类Dev

如何使用聚合对猫鼬进行分组和计数?

来自分类Dev

如何在meteorhacks中对文档进行排序:聚合输出

来自分类Dev

如何在猫鼬中聚合嵌套查找数组?

来自分类Dev

如何使用聚合在MongoDB中的文档根目录中输出数组的对象?

来自分类Dev

如何覆盖mongodb中的子文档的数组属性(猫鼬)

来自分类Dev

在基于对象数组中存储的两个相等字段进行联接时如何过滤猫鼬聚合?

来自分类Dev

如何使用聚合在MongoDB中合并/合并数组的数组?

来自分类Dev

如何使用猫鼬聚合获取嵌套在另一个数组中的数组大小

来自分类Dev

如何在数组中对$ all进行猫鼬查询

来自分类Dev

如何在猫鼬中使用聚合

来自分类Dev

如何删除猫鼬中的子文档?

来自分类Dev

如何更新猫鼬文档中的值?

来自分类Dev

猫鼬对嵌入式文档数组中的某些元素进行计数

来自分类Dev

如何使用猫鼬将数据推入MongoDB的数组中

来自分类Dev

我如何使用数组中的对象创建架构?猫鼬

来自分类Dev

如何使用猫鼬从数组字段中获取特定对象

来自分类Dev

如何使用猫鼬从数组中创建查询?

来自分类Dev

通过猫鼬更改文档中数组的数组

来自分类Dev

使用聚合在嵌套数组中选择文档的字段

来自分类Dev

如何在猫鼬中查询findOne(),以便获得满足特定条件的文档数组子集?

来自分类Dev

如何在一个数组猫鼬中存储不同的子文档?

来自分类Dev

如何从猫鼬的数组中获取数据?

来自分类Dev

如何验证猫鼬数组中的整体

Related 相关文章

  1. 1

    如何使用聚合在猫鼬中添加值进行排序?

  2. 2

    聚合猫鼬文档中的数组

  3. 3

    使用诺言和猫鼬对文档进行排序

  4. 4

    如何使用聚合在一个mongo文档中独立对多个数组进行排序

  5. 5

    如何使用猫鼬进行分组/聚合?

  6. 6

    查询父级时如何获取猫鼬子文档数组中的聚合值总和?

  7. 7

    如何使用聚合对猫鼬进行分组和计数?

  8. 8

    如何在meteorhacks中对文档进行排序:聚合输出

  9. 9

    如何在猫鼬中聚合嵌套查找数组?

  10. 10

    如何使用聚合在MongoDB中的文档根目录中输出数组的对象?

  11. 11

    如何覆盖mongodb中的子文档的数组属性(猫鼬)

  12. 12

    在基于对象数组中存储的两个相等字段进行联接时如何过滤猫鼬聚合?

  13. 13

    如何使用聚合在MongoDB中合并/合并数组的数组?

  14. 14

    如何使用猫鼬聚合获取嵌套在另一个数组中的数组大小

  15. 15

    如何在数组中对$ all进行猫鼬查询

  16. 16

    如何在猫鼬中使用聚合

  17. 17

    如何删除猫鼬中的子文档?

  18. 18

    如何更新猫鼬文档中的值?

  19. 19

    猫鼬对嵌入式文档数组中的某些元素进行计数

  20. 20

    如何使用猫鼬将数据推入MongoDB的数组中

  21. 21

    我如何使用数组中的对象创建架构?猫鼬

  22. 22

    如何使用猫鼬从数组字段中获取特定对象

  23. 23

    如何使用猫鼬从数组中创建查询?

  24. 24

    通过猫鼬更改文档中数组的数组

  25. 25

    使用聚合在嵌套数组中选择文档的字段

  26. 26

    如何在猫鼬中查询findOne(),以便获得满足特定条件的文档数组子集?

  27. 27

    如何在一个数组猫鼬中存储不同的子文档?

  28. 28

    如何从猫鼬的数组中获取数据?

  29. 29

    如何验证猫鼬数组中的整体

热门标签

归档