[英]Using Javascript Mongodb driver for Aggregation
我正在尝试从Mongodb中为平台赢得的每个版本的每个文件名提取聚合数据
我的数据具有以下格式
[
{ "_id" : { "platform" : "mac", "filename" : "f1.json", "version" : "1.4.14" }, "avgSecs" : 15 },
{ "_id" : { "platform" : "win", "filename" : "f2.json", "version" : "3000.0.0_developer" }, "avgSecs" : 1217 },
{ "_id" : { "platform" : "win", "filename" : "f3.json", "version" : "1.4.14" }, "avgSecs" : 1711 },
{ "_id" : { "platform" : "win", "filename" : "f3.json", "version" : "3000.0.0_developer" }, "avgSecs" : 1191 }
]
我的代码如下
[ {$sort:{filename:1}},{$match:{platform:"win"}},{ $group:{ _id: {filename:"$filename", version:"$version"}, avgSecs: {$avg:"$int_secs"} } }]
如下使用JS API发送到mongodb
collection.aggregate(aggQuery).toArray(function(err,docs){
assert.equal(null,err)
resolve(docs);
})
但是我没有解析和聚合数据,而是从数据库获取完整的数据。
我已经检查过相同的聚合查询在mongodb shell中可以正常工作。 我不确定JS API有什么问题。 我是否以正确的方式使用它
确定找到了。
AggQuery在期望数组对象时以字符串形式发送。 制作了对象数组,现在结果与预期的一样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.