代码之家  ›  专栏  ›  技术社区  ›  Johannes Merz

Mongo$addField-将当前结果集的索引添加为字段

  •  1
  • Johannes Merz  · 技术社区  · 4 年前

    我想在结果集中添加一个包含索引的字段,但找不到合适的表达式。

    aggregate([
      { $match: { } },
      { $addFields: { order: { ??? } },
      { ... }
    ])
    

    例如,如果我有一套

    [
      { a: 'b' },
      { a: 'c' },
      { a: 'd' },
    ]
    

    我想得到

    [
      { a: 'b', order: 0 },
      { a: 'c', order: 1 },
      { a: 'd', order: 2 },
    ]
    

    我不能仅仅将其添加到客户端,因为我限制并偏移了聚合链下的结果,我不知道确切的偏移量,所以最终结果可能类似于

    [
     { a: 'd', order: 2 },
    ]
    

    我可以使用有效的表达式吗?

    0 回复  |  直到 4 年前