为MongoDB聚合查询中的每个文档提取大量字段

豪尔赫·阿兰达(Jorge Aranda)

我有一个MongoDB集合。其中,每个文档都有一个项目ID,一个时间字段以及大量其他字段。重复商品ID。我想针对每个不同的项目ID从此集合中的最后一个文档中提取所有数据。一种有效的方法如下:

db.items.aggregate({
    $sort: {time: -1}}, {
    $group: {
        _id: {item: '$item.id'},
        time: {$first: '$time'},
        anotherField: {$first: '$anotherField'},
        yetAnotherField: {$first: '$yetAnotherField'},
        ...
    }
})

...但是,我需要为要提取的文档中的每个字段添加一个表达式,这很笨拙。是否有一个查询能够像上述方法一样高效(或更优)地完成此任务,但更优雅地完成此任务?

香港强尼

您可以用来$$ROOT在中引用整个文档$group

因此,要获取每个组的最新(即最后一个)文档,您可以执行以下操作:

db.items.aggregate({
    $sort: {time: -1}}, {
    $group: {
        _id: {item: '$item.id'},
        lastDoc: {$first: '$$ROOT'}
    }
})

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过mongodb中的聚合和$ facet在每个文档中添加一个新字段

来自分类Dev

使用聚合在每个文档mongodb中增加或减去一个字段

来自分类Dev

MongoDB聚合查询-重命名嵌入式文档中返回的字段

来自分类Dev

将MongoDB聚合结果重塑为字段值文档

来自分类Dev

在MongoDB中快速查询和删除大量集合的文档

来自分类Dev

MongoDB:如何在连续查询中检索大量文档

来自分类Dev

MongoDB聚合管道:计数文档中的字段是否小于值?

来自分类Dev

如何删除MongoDB中聚合查询返回的文档

来自分类Dev

MongoDB 聚合查询 - 组聚合字段错误

来自分类Dev

在每个文档中添加一个新字段,并在mongodb中为同一文档的另一个字段赋值

来自分类Dev

在mongodb中更新大量文档

来自分类Dev

每个文档级别的聚合mongodb

来自分类Dev

将大量数据存储为单个 JSON 字段 - 将重要字段提取到自己的字段中?

来自分类Dev

为MongoDB聚合中的字段分配增量编号

来自分类Dev

在MongoDB中聚合异构文档

来自分类Dev

mongodb中的嵌套文档聚合

来自分类Dev

如何在mongodb中查询文档以比较数组中的字段?

来自分类Dev

MongoDB聚合嵌套子文档字段

来自分类Dev

MongoDB聚合:在$ match $或查询中使用当前文档的字段值

来自分类Dev

如何在MongoDB的嵌入文档中为每个_id计数

来自分类Dev

MongoDB聚合:将单独的文档字段投影到单个数组字段中

来自分类Dev

MongoDB聚合:将单独的文档字段投影到单个数组字段中

来自分类Dev

为数组字段的每个元素计算一个数学公式 - Mongodb 聚合框架

来自分类Dev

RegExp在MongoDB中为多个字段查找匹配的文档

来自分类Dev

如何查询和显示每个 mongodb 记录的数组中的字段?

来自分类Dev

在MongoDB的聚合管道中的$ group之后获取输入文档中的字段

来自分类Dev

使用mongoDB中的聚合为集合中的所有文档删除特定字段

来自分类Dev

聚合查询上的Mongodb填充字段

来自分类Dev

mongodb聚合查询字段值长度的总和

Related 相关文章

  1. 1

    通过mongodb中的聚合和$ facet在每个文档中添加一个新字段

  2. 2

    使用聚合在每个文档mongodb中增加或减去一个字段

  3. 3

    MongoDB聚合查询-重命名嵌入式文档中返回的字段

  4. 4

    将MongoDB聚合结果重塑为字段值文档

  5. 5

    在MongoDB中快速查询和删除大量集合的文档

  6. 6

    MongoDB:如何在连续查询中检索大量文档

  7. 7

    MongoDB聚合管道:计数文档中的字段是否小于值?

  8. 8

    如何删除MongoDB中聚合查询返回的文档

  9. 9

    MongoDB 聚合查询 - 组聚合字段错误

  10. 10

    在每个文档中添加一个新字段,并在mongodb中为同一文档的另一个字段赋值

  11. 11

    在mongodb中更新大量文档

  12. 12

    每个文档级别的聚合mongodb

  13. 13

    将大量数据存储为单个 JSON 字段 - 将重要字段提取到自己的字段中?

  14. 14

    为MongoDB聚合中的字段分配增量编号

  15. 15

    在MongoDB中聚合异构文档

  16. 16

    mongodb中的嵌套文档聚合

  17. 17

    如何在mongodb中查询文档以比较数组中的字段?

  18. 18

    MongoDB聚合嵌套子文档字段

  19. 19

    MongoDB聚合:在$ match $或查询中使用当前文档的字段值

  20. 20

    如何在MongoDB的嵌入文档中为每个_id计数

  21. 21

    MongoDB聚合:将单独的文档字段投影到单个数组字段中

  22. 22

    MongoDB聚合:将单独的文档字段投影到单个数组字段中

  23. 23

    为数组字段的每个元素计算一个数学公式 - Mongodb 聚合框架

  24. 24

    RegExp在MongoDB中为多个字段查找匹配的文档

  25. 25

    如何查询和显示每个 mongodb 记录的数组中的字段?

  26. 26

    在MongoDB的聚合管道中的$ group之后获取输入文档中的字段

  27. 27

    使用mongoDB中的聚合为集合中的所有文档删除特定字段

  28. 28

    聚合查询上的Mongodb填充字段

  29. 29

    mongodb聚合查询字段值长度的总和

热门标签

归档