首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Javascript Mongodb驱动程序进行聚合

使用Javascript Mongodb驱动程序进行聚合
EN

Stack Overflow用户
提问于 2017-02-09 20:23:00
回答 1查看 38关注 0票数 0

我正在尝试从Mongodb中提取每个文件名的聚合数据,每个版本的平台都是win

我的数据格式如下

代码语言:javascript
复制
[
{ "_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 }
]

我的代码如下

代码语言:javascript
复制
  [ {$sort:{filename:1}},{$match:{platform:"win"}},{ $group:{ _id: {filename:"$filename", version:"$version"}, avgSecs: {$avg:"$int_secs"} } }]

它使用如下JS apis发送到mongodb

代码语言:javascript
复制
        collection.aggregate(aggQuery).toArray(function(err,docs){
            assert.equal(null,err)
            resolve(docs);
        })

但是我没有得到解析和聚合数据,而是完成了数据库中的数据。

我检查过同样的聚合查询在mongodb shell中运行得很好。我不确定JS api有什么问题。我使用它的方式正确吗

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-09 20:48:05

好了找到了。

AggQuery应为数组对象,但却以字符串的形式发送。创建了对象数组,现在结果与预期一致。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42136627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档