db.itemsView.drop();

db.items.aggregate([
{
"$match": {
"status": "true"
}
},
{
"$unwind": {
"path": "$globalOptions",
"preserveNullAndEmptyArrays": true
}
},
{
"$lookup": {
"from": "globaloptiongroups",
"localField": "globalOptions",
"foreignField": "_id",
"as": "globaloptiongroups"
}
},
{
"$unwind": {
"path": "$globaloptiongroups",
"preserveNullAndEmptyArrays": true
}
},
{
"$group": {
"_id": "$_id",
"globaloptiongroups": {
"$push": "$globaloptiongroups"
},
"name": {
"$first": "$name"
},
"merchantId": {
"$first": "$merchantId"
},
"customerOptions": {
"$first": "$customerOptions"
},
"properties": {
"$first": "$properties"
},
"price": {
"$first": "$price"
},
"picture": {
"$first": "$picture"
},
"description": {
"$first": "$description"
},
"category": {
"$first": "$category"
},
"order": {
"$first": "$order"
}
}
},
{
"$project": {
"_id": 1,
"name": 1,
"merchantId": 1,
"options": 1,
"price": 1,
"picture": 1,
"description": 1,
"category": 1,
"order": 1,
"groupOptions": {
"$setUnion": [
"$groupOptions",
"$customerOptions"
]
}
}
},
{
"$sort": {
"order": 1
}
}
]).saveAsView("itemsView");

mongo views的更多相关文章

  1. 将 node.js 的数据保存到 mongo 数据库中

    Mongo 数据库 安装 首先到 Mongo 的官方网站下载安装程序:http://www.mongodb.org/,我下载的文件名为:mongodb-win32-x86_64-2008plus-2. ...

  2. django配合mongo使用

    环境 django 1.11.16 mongoengine 0.16.0 需要安装mongoengine库 pip install mongoengine 1.在配置文件中 # settings.py ...

  3. mongo shell命令

    https://docs.mongodb.com/manual/mongo/ 一.MongoDB客户端使用 1.mongo:启动mongo的客户端,和mongo客户端的登录 [root@cmos1 b ...

  4. MongoDB的安装,mongod和mongo的区别

    一. mongoDB安装路径 安装路径(最新4.0.11):https://www.mongodb.com/download-center/community?jmp=nav 建议另外找路径下载,外网 ...

  5. 谈一谈NOSQL的应用,Redis/Mongo

    1.心路历程 上年11月份来公司了,和另外一个同事一起,做了公司一个移动项目的微信公众号,然后为了推广微信公众号,策划那边需要我们做一些活动,包括抽奖,投票.最开始是没有用过redis的,公司因为考虑 ...

  6. MongoDB分组汇总操作,及Spring data mongo的实现

    转载请在页首注明作者与出处 一:分组汇总 1.1:SQL样例 分组汇总的应用场景非常多,比如查询每个班级的总分是多少,如果用关系形数据库,那么sql是这样子的 ),class from score g ...

  7. mongo DB for C#

    (1)Download the MongoDB C#驱动. http://www.nuget.org/packages/mongocsharpdriver/. (2) Add Reference to ...

  8. MVC项目中,如何访问Views目录下的静态文件!

    <!--注意,是system.webServer节点,而非system.web--><system.webServer> <handlers> <add na ...

  9. Django基础,Day4 - views 详解

    在Django中,网页和其他内容是通过视图传递的.每个视图由一个简单的Python函数表示,Django将通过检查请求的URL(准确地说,是域名后面的部分URL)来选择一个视图. 例如,用户在浏览器中 ...

随机推荐

  1. HDU 1166 敌兵布阵 <线段树 单点修改 区间查询>

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  2. [AGC012F]Prefix Median

    题目大意: 给定一个长度为$2n-1(n\le50)$的数组$a$,可以重排$a$中的元素,生成一个长度为$n$的数组$b$,其中$b_i$为$a_1\sim a_{2i-1}$的中位数.求对于给定的 ...

  3. 【R笔记】glm函数报错原因及解析

    R语言glm函数学习:  [转载时请注明来源]:http://www.cnblogs.com/runner-ljt/ Ljt 作为一个初学者,水平有限,欢迎交流指正. glm函数介绍: glm(for ...

  4. 使用shell生成随机数

    #!/bin/bash $` do $` do s=$(($RANDOM%)) done done 第1行:#!/bin/bash是指此脚本使用/bin/bash来解释执行.其中,#!是一个特殊的表示 ...

  5. 高性能mysql读后感

    1. 事务里的写操作,四种隔离级别,都会加排他锁. 2. 事务里的读操作,前三种隔离级别,不会加锁,最后一种隔离级别,会加共享锁. 3. 上面的写.读操作,都是隐式加的锁.  可以自己显示对读操作进行 ...

  6. Intellij IDEA光标保持自动缩进,设置下次不放在行首

  7. Android 拍照、从相册获取及裁剪的相关实现

    首先这些功能都是通过Intent去启动系统的服务去实现的,所以自然就有相应的Action.相关Actiong如下: 拍照——MediaStore.ACTION_IMAGE_CAPTURE (" ...

  8. 我使用过的Linux命令之swig - 把C/C++的代码嵌入Java等语言的开发工具

    用途说明 SWIG是Simplified Wrapper and Interface Generator的缩写,其官方站点是http://www.swig.org/.SWIG是个帮助使用C或者C++编 ...

  9. javascript快速入门20--Cookie

    Cookie 基础知识 我们已经知道,在 document 对象中有一个 cookie 属性.但是 Cookie 又是什么?“某些 Web 站点在您的硬盘上用很小的文本文件存储了一些信息,这些文件就称 ...

  10. 关于group by后为每个分组编号