Group大约需要一下几个参数。

  1. key:用来分组文档的字段。和keyf两者必须有一个
  2. keyf:可以接受一个javascript函数。用来动态的确定分组文档的字段。和key两者必须有一个
  3. initial:reduce中使用变量的初始化
  4. reduce:执行的reduce函数。函数需要返回值。
  5. cond:执行过滤的条件。
  6. finallize:在reduce执行完成,结果集返回之前对结果集最终执行的函数。可选的

测试数据

    //测试的数据
db.stocks.insert({"day": "2010/10/03", "time": "2010/10/03 03:47:01 GMT-400", "price": 4.23});
db.stocks.insert({"day": "2010/10/04", "time": "2010/10/04 11:28:39 GMT-400", "price": 4.27});
db.stocks.insert({"day": "2010/10/03", "time": "2010/10/03 05:00:23 GMT-400", "price": 4.10});
db.stocks.insert({"day": "2010/10/06", "time": "2010/10/06 05:27:58 GMT-400", "price": 4.30});
db.stocks.insert({"day": "2010/10/04", "time": "2010/10/04 08:34:50 GMT-400", "price": 4.01});

测试要执行的GROUP程序代码

db.runCommand({"group": {
"ns": "stocks",
"key": "day",
"initial": {"time": 0},
"$reduce": function(doc, prev) {
if (doc.time > prev.time) {
prev.price = doc.price;
prev.time = doc.time;
}
}
}});

执行之后的结果

    {
"retval" : [
{
"time" : 0
}
],
"count" : 5,
"keys" : 1,
"ok" : 1
}

最新文章

  1. [转]关于SVN的操作批处理示例
  2. 绑定多个ddl
  3. 【递归】斐波那契数列第n个数
  4. Excel表格常用的函数,留着备用
  5. atitit.api设计 方法 指南 手册 v2 q929.docx
  6. 如何处理ABBYY中出现错误代码142和55的问题
  7. ASP.NET c#学习经验
  8. python Synchronization between processes
  9. Could not create local repository at /home/yizhenn/.m、IDEA倒入maven项目无法导报问题
  10. 小程序构建npm出现没有找到node_modules
  11. Java通过SMS短信平台实现发短信功能
  12. mybatis框架下物理分页的实现(整个工程采用的是springmvc、spring、mybatis框架,数据库是mysql数据库)
  13. Win8交互UX——笔交互
  14. Graphical vi-vim Cheat Sheet and Tutorial
  15. 如果我们的MCU调试不通过,我们该如何测试?(未完待续)
  16. sizeof数组名和字符指针是有区别的
  17. strust2的Action中validateXxx方法的用法
  18. 关于<meta>的各种用处以及移动端的常见问题
  19. 北京Uber优步司机奖励政策(12月8日)
  20. elastic search 查询语句

热门文章

  1. 数据库系统概论 SQL
  2. EasyUI-DataGrid之批量删除
  3. IT项目经理应具备的十大软技能
  4. XPath与Xquery
  5. redis学习心得之二【redis主从配置】
  6. dependencyManagement与dependencies区别
  7. Appium测试时如何关联到Genymotion模拟器
  8. Python入门基础教程(儿童版) [分享一本入门级教程]
  9. ASP.NET DropDownList1_SelectedIndexChanged使用
  10. MySQL更新时Error Code:1093和Error Code:1175的解决办法