1)data ready

var a = {"name":"zhekou","CharDate":"2015-12-01","Detail":
[{"DetailID":1,"Abstract":"1a","LenderAmt":20,"DebtAmt":0,"BaseAmt":20},
{"DetailID":2,"Abstract":"2a","LenderAmt":3,"DebtAmt":0,"BaseAmt":3},
{"DetailID":3,"Abstract":"3a","LenderAmt":4,"DebtAmt":0,"BaseAmt":4}]
}

db.Voucher.insert(a);

var a = {"name":"zhekou","CharDate":"2015-12-01","Detail":
[{"DetailID":4,"Abstract":"1a","LenderAmt":56,"DebtAmt":0,"BaseAmt":56},
{"DetailID":5,"Abstract":"2a","LenderAmt":34,"DebtAmt":0,"BaseAmt":34},
{"DetailID":6,"Abstract":"3a","LenderAmt":87,"DebtAmt":0,"BaseAmt":87}]
}
db.Voucher.insert(a);

2)function

db.Voucher.aggregate(
{$unwind:"$Detail"},
{$match:{"Detail.Abstract":/a/}},
{$project:{ _id:0, amount: "$Detail.BaseAmt",Abstract:"$Detail.Abstract"}},
{$group:{_id:"$Abstract",total:{$sum:"$amount"}}}
)

2_1)

$match:过滤后再分组,Detail.Abstract,虽然用了unwind打开,但是还是要用Detail.前缀引用

$project:重命名

$:引用

$group:分组,_id:分组by**,$sum:相加

3)result

/* 0 */
{
"result" : [
{
"_id" : "3a",
"total" : 91
},
{
"_id" : "2a",
"total" : 37
},
{
"_id" : "1a",
"total" : 76
}
],
"ok" : 1
}

试水mongodb er的更多相关文章

  1. 试水MongoDB

    1)安装好后启动mongodb 服务 1_1) 建立data/db     ,保证至少有3g大小的盘 1_2) 建立log 文件夹 1_3)配置文件 内容,指定数据存放位置.日志文件位置 dbpath ...

  2. POJ 2502 - Subway Dijkstra堆优化试水

    做这道题的动机就是想练习一下堆的应用,顺便补一下好久没看的图论算法. Dijkstra算法概述 //从0出发的单源最短路 dis[][] = {INF} ReadMap(dis); for i = 0 ...

  3. 大众点评试水O2O新模式:实体店试穿,扫描二维码付款 现场取货

    在餐饮美食行业取得不错的成绩之后,大众点评将触角延伸到了线下的传统商铺,开始涉足线下商品的 O2O 团购.和传统的线上下单,线下消费的 O2O 模式不同.大众点评的 O2O 团购用户,可在店内试穿后通 ...

  4. Json.Net6.0入门学习试水篇

    原文:Json.Net6.0入门学习试水篇 前言 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.简单地说,JSON 可以将 JavaScript 对象中 ...

  5. 第一回:Scrapy的试水

    前言:今天算是见到Scrapy的第二天,之前只是偶尔查了查,对于这个框架的各种解释,我-----都-----看------不------懂----,没办法,见面就是刚. 目的:如题,试水 目标:< ...

  6. CSharpGL(49)试水OpenGL软实现

    CSharpGL(49)试水OpenGL软实现 CSharpGL迎来了第49篇.本篇内容是用C#编写一个OpenGL的软实现.暂且将其命名为SoftGL. 目前已经实现了由Vertex Shader和 ...

  7. UITableView(自定义cell)试水心得

    初次试水自定义cell的UITableView 实现目标      最终实现结果   界面复原度:98% 未能完全复刻的地方:下半部分的tableview与头部的控件间距上的误差 原因:在做table ...

  8. 微博试水卖车社交电商怎样令4S“颤抖”?

        微博对社交电商的探索一直在深入,年初.微博上线了"支付"产品.从而使社交产业链实现了闭环,随后,微博又尝试售卖多种商品,不断扩大移动电商的试水范围,近期微博大规模汽车销售收 ...

  9. phaser2->3:来个打地鼠试水

    本文中phaser具体版本 phaser2:2.8.1 phaser3:3.17.0 一.实现效果二.实现细节三.项目总结四.参考文档 一.实现效果 源码地址(phaser2&phaser3) ...

随机推荐

  1. andorid 自定义view属性declare-styleable

    1. reference:参考某一资源ID. (1)属性定义: <declare-styleable name = "名称"> <attr name = &quo ...

  2. HDU - 1205 I NEED A OFFER!

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1203 题意: 该题要求得到一份offer的最大概率,在例子中的0.44 = 1-(1-0.2)*(1- ...

  3. php的header函数之设置content-type

    //定义编码 header( 'Content-Type:text/html;charset=utf-8 '); //Atom header('Content-type: application/at ...

  4. XAMPP命令之LAMPP

    .wiz-todo, .wiz-todo-img {width: 16px; height: 16px; cursor: default; padding: 0 10px 0 2px; vertica ...

  5. Eclipse配置

    下载地址:http://www.eclipse.org/downloads/ tomcat plugin:http://www.eclipsetotale.com/tomcatPlugin.html# ...

  6. 利用transform制作幻灯片

    html代码 <html><head></head><body><div class='hpic'> <ul style=" ...

  7. edittext判断获取焦点 有焦点显示clear

    mPhoneEt.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange( ...

  8. do{...}while(0)的妙用(转)

    源:http://www.cnblogs.com/lizhenghn/p/3674430.html 在学习第一门编程语言时,就已经介绍了顺序分支.条件分支.循环分支.比如循环分支有for.while. ...

  9. 从零深入 tomcat

    1.tomcat的安装使用 tomcat是实现了J2EE标准的最简单轻巧的WEB服务器,所以使用tomcat必须安装JDK咯! ① 安装JDK并设置环境变量: ②设置tomcat的环境变量: 这两小步 ...

  10. C# 经典入门15章 -ListView 【未附代码】