首页 > 解决方案 > 将现有文档字段添加到聚合输出

问题描述

一个 MongoDB 集合包含许多具有以下属性的文档:

{
  name: <value>
  timestamp: <value>,
  price: <value>
}

timestamps 不是唯一的,我想总结price为每个人找到的值timestamp

const entries = await Subscription
  .aggregate([
    { $match: { timestamp: parseInt(req.params.timestamp, 10) } },
    { $group: { _id: null, sum: { $sum: "$price" } } },
    { $project: {
      _id: false,
      sum: true
    }},
    { $limit: parseInt(req.params.limit, 10) }
  ])

如何将个人添加timestamp到查询输出中?试过了

{ $project: {
  _id: false,
  sum: true,
  timestamp: { $literal: parseInt(req.params.timestamp, 10) }
}}

但在我看来,当该字段存在于文档中时,它就像在输出中添加一个字段。

标签: mongodb

解决方案


推荐阅读