【问题标题】:Return a field from the match stage in the final project stage在最终项目阶段从匹配阶段返回一个字段
【发布时间】:2017-01-20 04:55:11
【问题描述】:

我在 Node.js 脚本中使用 Mongoose 设置了一个聚合查询,如下所示:

TestResult.aggregate([
                { $match:
                    {
                        Probe: parseInt(fieldsToSearch.probe),
                        TimeStamp: {
                            "$gte" : fieldsToSearch.queryBeginTimeStamp ,
                            "$lt" : fieldsToSearch.queryEndTimeStamp
                        }
                    }
                },
                { $group:
                    {
                        _id: "$Probe",
                        min : {
                            $min: "$Value"
                        },
                        max : {
                            $max: "$Value"
                        },
                        avg : {
                            $avg: "$Value"
                        }
                    }
                },
                { $project:
                    {
                        probe:"$_id",
                        _id: 0,
                        min: 1,
                        max: 1,
                        avg: 1,
                        TimeStamp : 1//"$TimeStamp"

                    }

                }])

但是,在最后一个 $project 阶段,我还想返回用于匹配记录的原始 TimeStamp 字段。但是,获得的结果没有 TimeStamp 字段。如何从早期阶段获取字段到最后一个项目阶段?

【问题讨论】:

    标签: node.js mongodb aggregation-framework


    【解决方案1】:

    您应该提供有关您的收藏的更多信息,但查看管道,您可能希望在小组赛阶段添加一个由 2 个字段组成的 _id - 探测和时间戳:

    $group:
    {
        _id: {
            Probe: "$Probe",
            TimeStamp: "$TimeStamp"
        },
        min : {
            $min: "$Value"
        },
        max : {
            $max: "$Value"
        },
        avg : {
            $avg: "$Value"
        }
    }
    

    否则您无法在管道中进一步获取时间戳字段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-03
      • 1970-01-01
      • 2017-06-13
      • 1970-01-01
      • 2022-11-02
      相关资源
      最近更新 更多