MONGODB 与sql聚合操作对应图
MongoDB 高级查询条件操作符
2012-04-25 15:35:19| 分类: MongoDB | 标签:mongodb使用 mongodb查询 |举报|字号订阅
下载LOFTER我的照片书 |
MongoDB 支持多种复杂的查询方式,能实现大多数 T-SQL 功能,远不是 Key-Value 之类的 NoSQL DB 所能比拟的。
Conditional Operators : $slice //切片
Conditional Operators : $lt <, $lte <=, $gt >, $gte >=
Conditional Operator : $ne //不等于
Conditional Operator : $in //属于
Conditional Operator : $nin //不属于
Conditional Operator : $mod //取模运算
Conditional Operator: $all //全部属于
Conditional Operator : $size //数量
Conditional Operator: $exists //字段存在
Conditional Operator: $type //字段类型
Conditional Operator: $or // 或
Regular Expressions //正则表达式
Value in an Array // 数组中的值
Conditional Operator: $elemMatch //要素符合
Value in an Embedded Object //内嵌对象中的值
Meta operator: $not //不是
Javascript Expressions and $where //
sort() //排序
limit() //限制取数据条数
skip() //跳过一定数值开始取
snapshot() //
count() // 数量
group() //分组
准备数据
In [9]: db
Out[9]: Database(Connection('localhost', 27017), u'test')
In [10]: table = db.table_abeen
In [11]: table
Out[11]: Collection(Database(Connection('localhost', 27017), u'test'), u'table_abeen')
In [12]: table.insert({"name":"abeen", "age":27})
Sun Aug 8 23:14:20 connection accepted from 127.0.0.1:46143 #27
Out[12]: ObjectId('4c5f9cbc421aa90fb9000000')
In [14]: table.insert({"name":"shanshan", "age":22})
Out[14]: ObjectId('4c5f9ccb421aa90fb9000001')
Conditional Operator: $ne (not equal)
//查找name不等于abeen的信息
In [24]: list(table.find({"name":{"$ne":"abeen"}}))
Out[24]:
[{u'_id': ObjectId('4c5f9ccb421aa90fb9000001'),
u'age': 22,
u'name': u'shanshan'},
{u'_id': ObjectId('4c5f9d2d421aa90fb9000002'),
u'age': 22,
u'name': u'shanshan2'},
{u'_id': ObjectId('4c5f9d34421aa90fb9000003'),
u'age': 23,
u'name': u'shanshan3'}]
Conditional Operator: $gt $lt(gt= greater than, lt=less than)
//查找name不等于abeen,并且age大于22的
In [29]: list(table.find({"name": {"$ne": "abeen"}, "age":{"$gt": 22}}))
Out[29]:
[{u'_id': ObjectId('4c5f9d34421aa90fb9000003'),
u'age': 23,
u'name': u'shanshan3'}]
获取子集 $ne $slice
//select "age" from table where name = "abeen"
In [42]: list(table.find({"name": "abeen"}, {"age" : 1}))
Out[42]: [{u'_id': ObjectId('4c5f9cbc421aa90fb9000000'), u'age': 27}]
//get all posts about mongodb without "age"
In [43]: list(table.find({"name": "abeen"}, {"age" : 0}))
Out[43]: [{u'_id': ObjectId('4c5f9cbc421aa90fb9000000'), u'name': u'abeen'}]
//name不等于abeen的"age"信息,取前5条
In [48]: list(table.find({"name": {"$ne":"abeen"}}, {"age":{"$slice":5}}))
//取name信息,从第10条开始取20条
In [54]: list(table.find({}, {"name": {"$slice": [10,20]}}))
//取name信息,从后20条开始取10条
In [55]: list(table.find({}, {"name": {"$slice": [-20,10]}}))
取数值范围
//age大于23的
In [56]: list(table.find({"age":{"$gt":23}}))
Out[56]: [{u'_id': ObjectId('4c5f9cbc421aa90fb9000000'), u'age': 27, u'name': u'abeen'}]
//age小于23的
In [57]: list(table.find({"age":{"$lt":23}}))
Out[57]:
[{u'_id': ObjectId('4c5f9ccb421aa90fb9000001'),
u'age': 22,
u'name': u'shanshan'},
{u'_id': ObjectId('4c5f9d2d421aa90fb9000002'),
u'age': 22,
u'name': u'shanshan2'}]
//age大于等于23的
In [58]: list(table.find({"age":{"$gte":23}}))
Out[58]:
[{u'_id': ObjectId('4c5f9cbc421aa90fb9000000'), u'age': 27, u'name': u'abeen'},
{u'_id': ObjectId('4c5f9d34421aa90fb9000003'),
u'age': 23,
u'name': u'shanshan3'},
{u'_id': ObjectId('4c5fa2ab421aa90fb9000004'),
u'address': u'da zhong si',
u'age': 23,
u'name': u'shanshan3'}]
//age小于等于23的
In [59]: list(table.find({"age":{"$lte":23}}))
Out[59]:
[{u'_id': ObjectId('4c5f9ccb421aa90fb9000001'),
u'age': 22,
u'name': u
转载于:https://www.cnblogs.com/jayruan/p/5767291.html
MONGODB 与sql聚合操作对应图相关推荐
- mongoDB中的聚合操作
本文来说下mongoDB中的聚合操作 文章目录 概述 概述 MongoDB 中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果.有点类似 SQL 语句中的 ...
- 二、mongodb数据库系列——聚合操作 索引操作 权限管理
一.mongodb的聚合操作 学习目标 了解 mongodb的聚合原理 掌握 mongdb的管道命令 掌握 mongdb的表达式 1 mongodb的聚合是什么 聚合(aggregate)是基于数据处 ...
- MongoDB——分页排序聚合操作
原始数据: /* 1 */ {"_id" : ObjectId("5b604ac423cc834a5495d780"),"name" : & ...
- Scrapy框架之MongoDB聚合操作
目录 MongoDB聚合操作 聚合操作的基本语法 常用的聚合操作 管道命令之$group 按照某个字段进行分组 详解 计算集合中某个字段的平均值 常用表达式 管道命令之$match 示例 管道命令之$ ...
- 硬货来了!轻松掌握 MongDB 流式聚合操作
点击上方"肉眼品世界", 右上角选择"设为星标" 专注个人深度价值成长 " 阅读本文大概需要 15 分钟. " 信息科学中的聚合是指对相关数 ...
- MongoDB——聚合操作详解
聚合(Aggregation)为集合文档数据提供各种处理数据方法,并返回计算结果. MongoDB提供了3种方式来执行聚合命令: 聚合管道方法 map-reduce方法 单一目标聚合方法 1. 聚合管 ...
- mongoDB聚合操作_aggregate()归纳
mongoDB聚合操作 文章目录 1.准备一组数据 2.$group 分组管道 2.1 统计单组 2.2 统计多组 3.$match 过滤管道 拓展 统计数据个数 4.$project 映射管道 5. ...
- 04 MongoDB各种查询操作 以及聚合操作总结
基础篇(能解决工作中80%的问题): MongoDB的概述.应用场景.下载方式.连接方式和发展历史等 MongoDB数据类型.重要概念以及shell常用指令 MongoDB文档的各种增加.更新.删除操 ...
- mongodb的聚合操作
mongodb的聚合操作 1 mongodb的聚合是什么 聚合(aggregate)是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个阶段的管道进行分组.过滤等功 ...
最新文章
- 16个免费和开源商业智能工具
- 大厂 CEO 一年薪酬拿多少?
- 解决ms_cannot_allocmem错误的两种方法
- 如何使用 Redis 实现大规模的帖子浏览计数
- NYOJ 679 贪婪的商店
- linux中查看路由命令是什么,linux下查看路由的命令
- Extjs 4.x 得到form CheckBox的值
- BP神经网络预测(python)
- 卫星影像的RPC参数
- 诛仙服务器技能修改,【诛仙422】自己修改的特色一键端(2018.10.11号更新修复BOOS不刷新BUG)技能修改补丁...
- 10分钟教你生成超高逼格微信朋友圈
- 联想 ThinkPad E480无线网卡配置错误导致无法连接无线网解决方案
- 安卓上哔哩哔哩视频的导出
- php网站 域名授权 怎么破,使用php进行域名授权代码 - 小俊学习网
- 开封大学计算机专业录取分数线,开封大学录取分数线2021是多少分(附历年录取分数线)...
- 计算机网络笔记(3) 网络应用P2P架构
- SAP MTO案例教程目录2022
- 菜鸟网络面试——123面
- 初创电商步步谈(一)- 前期准备的内容真不少
- Python 优化 回溯下降算法
热门文章
- 《图解深度学习》图书及代码,16章带你无障碍深度学习
- 【干货】卷积神经网络Alex-Net、VGG-Nets、Network-In-Network案例分析
- 带你自学Python系列(一):变量和简单数据类型(附思维导图)
- ios加载本地html懒加载图片方案,IOS开发中加载大量网络图片优化方法
- python字典键值可以是元组或列表吗_Python列表、元组、字典、集合的内置使用方法...
- mac matlab 中文乱码,MAC让Matlab编辑器显示中文的方法
- element table滚动条占宽度_HTML table表格 固定表头 tbody加滚动条
- Windows修改远程桌面端口方法步骤
- vscode 开发vue必备插件_vsCode开发vue项目必备插件
- python numpy遍历_NumPy 迭代数组