博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB高级查询(二):对一个表中的2个字段中的"内嵌对象"中的字段进行比较----------- aggregate聚合查询...
阅读量:6038 次
发布时间:2019-06-20

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

上一篇文章我们说到用 $where,但是这个办法有个严重的弊端: 性能消耗太多,一般是禁止这样进行使用script的,查询起来很慢.

闲言少叙 书归正传!

1.需要查询的表格

{	"health" : {			"diastolicpressure" : 95,			"systolicpressure" : 155,			"waist" : 72,	},	"calculation" : {			"target" : {				"systolicpressure" : 138,				"diastolicpressure" : 80,				"weight" : 67.375			},		}}{	"health" : {			"diastolicpressure" : 79,			"systolicpressure" : 120,			"waist" : 50,	},	"calculation" : {			"target" : {				"systolicpressure" : 138,				"diastolicpressure" : 80,				"weight" : 67.375			},		}}复制代码

2.需要查询的需求:

找出表格中health.diastolicpressure > calculation.target.diastolicpressure的数据

3单个条件比较查询实现 在shell中

db.members.aggregate(    [{            $match: {                sid: "aaa-PJx"   //筛选--先匹配这个,满足这个的才进行下面的匹配            }        },        {            $redact: {                "$cond": [{                        "$gt": ["$health.systolicpressure", "$calculation.target.systolicpressure"]                    },                    , "$$KEEP", "$$PRUNE"                ]            }        }    ]).pretty()复制代码

4.多个条件比较查询实现 在shell中

db.members.aggregate(    [        {            $match: {                sid: "aaa-PJx",            }        },        {            $redact: {                "$cond": [                    {                        "$and": [                            {                                "$gt": ["$health.systolicpressure", "$calculation.target.systolicpressure"]                                                    },                            {                                "$gt": ["$health.diastolicpressure", "$calculation.target.diastolicpressure"]                            }                        ]                    },                    "$$KEEP", "$$PRUNE"                ]            }        }    ]).pretty()复制代码

转载地址:http://njwex.baihongyu.com/

你可能感兴趣的文章
ASP.NET那点不为人知的事(一)
查看>>
HTML 表格
查看>>
VMware 虚拟化编程(7) — VixDiskLib 虚拟磁盘库详解之三
查看>>
php 未实例化类调用方法的问题
查看>>
我对读计算机软件专业硕士的几点看法
查看>>
用JS写CSS
查看>>
TOJ4537: n阶行列式
查看>>
3.16
查看>>
表单文件上传与文件下载
查看>>
下午考
查看>>
创建字符设备的三种方法
查看>>
走在网页游戏开发的路上(六)
查看>>
nginx 配置的server_name参数(转)
查看>>
Uva592 Island of Logic
查看>>
C++基础代码--20余种数据结构和算法的实现
查看>>
footer固定在页面底部的实现方法总结
查看>>
nginx上传文件大小
查看>>
HDU 2243 考研路茫茫——单词情结(自动机)
查看>>
Dubbo OPS工具——dubbo-admin & dubbo-monitor
查看>>
Dungeon Master ZOJ 1940【优先队列+广搜】
查看>>