MongoDB 2.6 兼容性改变 -- db.collection.aggregate()改变
2015-06-12 19:11
736 查看
MongoDB 2.6 兼容性改变 -- db.collection.aggregate()改变
描述
db.collection.aggregate()方法在mongo shell中,默认返回结果集的游标。这个修改使得聚合管道返回任何大小的结果集,需要游标遍历来访问结果集。例如:
之前的版本返回带有字段result的单一文档,它包含了结果集的一个数组,受限于BSON文档大小限制。在MongoDB之前的版本访问结果集需要访问result字段,并遍历数组。例如:
解决方案
修改脚本,当前期待db.collection.aggregate()返回一个文档带result数组字段,替换为处理游标。
可以参考
聚合增强
db.collection.aggregate()
描述
db.collection.aggregate()方法在mongo shell中,默认返回结果集的游标。这个修改使得聚合管道返回任何大小的结果集,需要游标遍历来访问结果集。例如:
var myCursor = db.orders.aggregate( [ { $group: { _id: "$cust_id", total: { $sum: "$price" } } } ] ); myCursor.forEach( function(x) { printjson (x); } );
之前的版本返回带有字段result的单一文档,它包含了结果集的一个数组,受限于BSON文档大小限制。在MongoDB之前的版本访问结果集需要访问result字段,并遍历数组。例如:
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数组字段,替换为处理游标。
可以参考
聚合增强
db.collection.aggregate()
相关文章推荐
- meteor ---快速启动meteor和 mongodb 方法--MAC
- MongoDB管道聚合各阶段示例
- MongoDB管道聚合各阶段
- MongoDB管道聚合各阶段
- 第五章:mongodb 性能监控
- 第四章:mongodb 命令行操作&进程控制&性能优化
- 第三章:MongoDB导出&备份恢复&用户管理
- 第二章:MongoDB简单的增删改查
- mongodb优化基本方案
- JAVA单例MongoDB工具类
- MongoDB聚合命令比较
- MongoDB聚合命令比较
- mongodb 中shell无法删除问题
- mongodb避免的查询模式
- MongoDB查询命令详解
- mongodb评论回复的相关设计
- mongodb建索引引起的问题
- MongoDB聚合介绍
- MongoDB-非关系型数据库的基本操作
- mongodb优化预读