繁体   English   中英

如何在mongoose / node.js的聚合查询中使用变量

[英]How to use a variable in an aggregate query in mongoose/node.js

我有一个非常基本的猫鼬聚合查询

Transaction.aggregate().match({
    timestamp : {
        $gt : time_lower_bound,
        $lt : time_upper_bound
    }
}).group({
    _id : '$currencyFrom',
    count : {
        $sum : 1
    }
}).sort({
    count : -1
})

我想使_id动态。 但是我尝试过

var field = job.data.field;
Transaction.aggregate().match({
    timestamp : {
        $gt : time_lower_bound,
        $lt : time_upper_bound
    }
}).group({
    _id : '$' . field,
    count : {
        $sum : 1
    }
}).sort({
    count : -1
})

它没有返回正确的数据,而是返回

[ { _id: null, count: 473 } ]

所以我在这里缺少明显的东西。

Javascript使用加号进行级联,而不是句号。

假设field是一个类似于currencyFrom的字符串,请替换

_id : '$' . field,

_id : '$' + field,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM