MongoDB 查询语法与常用查询语句总结
MongoDB 常用查询语句总结
先来一波查询语句语法的基本解释:
列子:
db.mycol.find({"likes": {$gt:10}, $or: [{"by": "yiibai tutorials"}, {"title": "MongoDB Overview"}]}
,{likes:1,ip:1}
)
find里面,可以填入两个大括号,第一个表示筛选条件,第二个表示你想要返回的字段
先说第二个,稍微简单一些:
{likes:1,ip:0}表示返回likes字段,返回ip字段,那么剩余其他字段呢?不返回!1表示返回,0表示不返回,当然
{likes:1,ip:0}这种情况是不允许的,执行的时候会报错。
再说第一个,语法比较多:
第一点: 所有的筛选条件都放在这里面。用{}包围
第二点:如果你是要查name=“jay”的数据,直接用
db.mongoTest.find({name:'jay'})
第三点: 如果你还有其他and条件就需要使用到and操作符。
db.mycol.find({$and:[{"by":"aaa"},{"title": "bbb"}]})`
这条语句的意思就是查询by=aaa并且title=bbb的数据。
`db.mycol.find({$and:[{"age":{$gt:10}},{"title": "bbb"}]})
这条语句表示你想查询age大于10并且title=bbb的数据。
第四点:如果你需要使用到or条件就需要使用$or操作符,其实使用方法和and类似,这里不在累述。
db.mycol.find({$or: [ {key1: value1}, {key2:value2} ] })
第五点:如果你既有and又有or。如果and里面有两个条件,or里面也有两个条件呢?
db.mycol.find({"likes": {$gt:10}, $or: [{"by": "yiibai tutorials"},{"title": "MongoDB Overview"}]})
db.mycol.find({$and: [{content:"cs"},{likes: {$gt:10}}],$or: [{"by": "yiibai tutorials"},{"title": "MongoDB Overview"}]})
等效于关系型数据库中的大于小于等操作符列表
操作 | 示例 | 等效语句 |
---|---|---|
相等 | db.mycol.find({“by”:“yiibai”}) | where age = 30 |
小于 | db.mycol.find({“likes”:{$lt:50}}) | where age < 30 |
小于等于 | db.mycol.find({“likes”:{$lte:50}}) | where age <= 30 |
大于 | db.mycol.find({“likes”:{$gt:50}}) | where age > 30 |
大于等于 | db.mycol.find({“likes”:{$gte:50}}) | where age >= 30 |
不想等 | db.mycol.find({“likes”:{$ne:50}}) | where age != 30 |
顺带提一句:在xml文件写sql语句不能直接写<=,需要这样写:
age <= 30
或者使用<![CDATA[ sql内容 ]]>将sql语句包裹住:
where
<![CDATA[age <= 30]]>
MongoDB 查询语法与常用查询语句总结相关推荐
- Kibana 使用 KQL 查询语法-kibana 常用查询语法
Kibana 查询语言 (KQL) 是一种使用自由文本搜索或基于字段的搜索过滤 Elasticsearch 数据的简单语法. KQL 仅用于过滤数据,并没有对数据进行排序或聚合的作用. KQL 能够在 ...
- 数据库设计、查询规范及常用SQL语句
1.数据库设计规范 1.1 表设计 (1)表名前应加上前缀,表的前缀用系统或模块的英文名称缩写: (2)数据库表名应该有意义,表名太长需要用前缀表示,并且易于理解,最好使用可以表达功能的英文单词或缩写 ...
- hibernate中查询方式(二):常用查询
Collection(集合) 列出所有有学生参加的项目:(项目的学生的数量大于0,则表示有学生参加) public void testCollection() throws Exception {Se ...
- JavaWeb学习笔记(数据库、SQL语句、数据查询语法、完整性约束、编码、备份和恢复数据、多表查询)
数据库.SQL语句.数据查询语法.完整性约束.编码.备份和恢复数据.多表查询 JavaWeb学习笔记 数据库 数据库概念 基本命令 启动和关闭mysql服务器 客户端登录退出mysql SQL语句 S ...
- 2021年大数据Hive(四):Hive查询语法
全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 hive查询语法 一.SELECT语句 1.语句结构 2.全表查 ...
- mongotemplate模糊查_java 中 mongodb的各种操作 模糊查询 精确查询 等等
本意是想查查mongo数据库的int类型的like怎么查,但是好像没 解决这个问题. 精确查询:模糊查询:分页查询,每页多少:按某个字段排序(或升或降):查询数量:大于,小于,等于:且,或,某个字段不 ...
- SQL语法之基础查询(进阶1)and条件查询(进阶2)
SQL语法体系学习笔记 SQL语法之基础查询(进阶1)and条件查询(进阶2) SQL语法之排序查询(进阶3)and常见函数(进阶4) SQL语法之分组函数,分组查询(进阶5)and连接查询(sql9 ...
- Hive的基本操作-基本查询语法
Hive 查询语法 SELECT SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE w ...
- Mongdb查询语法(Robomongo可视化工具)
大部分业务使用Mysql,此次业务需求用到Mongdb,将Mysql与Mongdb的语法对比起来掌握查询语法 一.查询 1.查询全表 Mysql:select * from table_name; M ...
最新文章
- lifekeeper for linxu安装步骤
- java json自定义_java返回json设置自定义的格式
- Redis持久化的几种方式——RDB深入解析
- Windows计算机功能Java源码
- [杂题训练]CF1228E Another Filling the Grid(容斥),CF936C Lock Puzzle(构造)
- JeecgBoot 移动OA 新版本上线啦!!!
- 【高校宿舍管理系统】第零章 项目功能和技术路线
- I.MX6 U-boot Kernel backlight setting
- 强化学习实战(六)【Windows安装星际争霸Ⅱ 强化学习环境教程】
- [原] MyBatis 整理
- Arcpy 去除shp文件ZM值代码及工具箱
- 关键字AUTO_INCREMENT 重命名表 修改列的属性。
- Protel使用的60个问题和解答
- webscraper改写案例分析
- Python 课程学习笔记(5)列表 [ ] lst
- matplotlib 笔记: contourf contour
- 基于Docker离线部署开源视频会议系统Jitsi-Meet
- nginx 域名重定向跳转至另一个域名
- Linux磁盘与分区命名:sda, sdb, sdc, sda1, sda2
- StarGAN-VC语音音色转换