博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB 2.6 兼容性改变 -- db.collection.aggregate()改变
阅读量:5752 次
发布时间:2019-06-18

本文共 754 字,大约阅读时间需要 2 分钟。

描述

db.collection.aggregate()方法在mongo shell中,默认返回结果集的游标。这个修改使得聚合管道返回任何大小的结果集,需要游标遍历来访问结果集。例如:

1
2
3
4
5
6
7
8
9
var myCursor = db.orders.aggregate( [
{
$
group
: {
_id: 
"$cust_id"
,
total: { $
sum
"$price" 
}
}
}
] );
myCursor.forEach( 
function
(x) { printjson (x); } );

 

之前的版本返回带有字段result的单一文档,它包含了结果集的一个数组,受限于BSON文档大小限制。在MongoDB之前的版本访问结果集需要访问result字段,并遍历数组。例如:

1
2
3
4
5
6
7
8
9
10
var returnedDoc = db.orders.aggregate( [
{
$
group
: {
_id: 
"$cust_id"
,
total: { $
sum
"$price" 
}
}
}
] );
var myArray = returnedDoc.result; // access the result field
myArray.forEach( 
function
(x) { printjson (x); } );

 

解决方案

修改脚本,当前期待db.collection.aggregate()返回一个文档带result数组字段,替换为处理游标。

 

可以参考

本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/1661394 ,如需转载请自行联系原作者

你可能感兴趣的文章
MAVEN 属性定义与使用
查看>>
shell高级视频答学生while循环问题
查看>>
使用@media实现IE hack的方法
查看>>
《11招玩转网络安全》之第一招:Docker For Docker
查看>>
hive_0.11中文用户手册
查看>>
hiveserver2修改线程数
查看>>
XML教程
查看>>
oracle体系结构
查看>>
Microsoft Exchange Server 2010与Office 365混合部署升级到Exchange Server 2016混合部署汇总...
查看>>
Proxy服务器配置_Squid
查看>>
开启“无线网络”,提示:请启动windows零配置wzc服务
查看>>
【SDN】Openflow协议中对LLDP算法的理解--如何判断非OF区域的存在
查看>>
纯DIV+CSS简单实现Tab选项卡左右切换效果
查看>>
栈(一)
查看>>
ios 自定义delegate(一)
查看>>
创建美国地区的appleId
查看>>
例题10-2 UVa12169 Disgruntled Judge(拓展欧几里德)
查看>>
JS 原生ajax写法
查看>>
Composer管理PHP依赖关系
查看>>
React.js学习笔记之JSX解读
查看>>