mongo查询方法汇总
来源:互联网 发布:网络免费打电话啥软件 编辑:程序博客网 时间:2024/06/03 07:13
1,查找所有
2,相等
3,多个字段相等,关系且4,多个字段相等,关系或
5,多个字段相等,关系或且结合
6,大于
7,大于等于8,小于9,小于等于
10,大于一个值,小于一个值
这样子是错误的:
11,不等于
12,字段为空
13,字段不为空
14,值在一个数组字段中
15,值不在一个数组字段中
16,一个数组的每个值全部在一个数组字段中
这个表示value1,value2都在arraykey中
17,字段的值为一个数组中任意一个元素的值
这里的字段既可以是普通字段,也可以是数组字段
18,字段的值不等于数组中任意一个元素的值
19,取模运算
这个表示查找key % 10 == 1的记录
20,数组的元素个数等于
这个$size操作符只能判断等于,大于小于都不行,MongoDB建议增加一个字段存储arraykey的元素个数,每次更新arraykey时使用$inc来增加或减少值
21,判断是否有这个字段$exists
这个表示key存在
这个表示key不存在
22,判断字段类型$type
这个表示key的类型是string,类型与值的对应关系参照:
http://docs.mongodb.org/manual/reference/bson-types/
23,根据正则表达式进行匹配
这个功能很强大了,key可以是整型值,也可以使用$regex操作符,动态组装正则表达式:
24,如果key存储的是一个嵌入式对象,则可以这样匹配
比如文档为:
匹配:
"key.key1"相当于一个字段
但是:
匹配不到,
才能匹配到
25,匹配对象数组$elemMatch
如果字段中存储的是一个对象数组,如:
则可以这样匹配:
这个什么都匹配不到。
注意:$elemMatch的匹配方式和以下这个是不一样的:
这个可以匹配到前面那条记录。
这个可以匹配到。
26,$not操作符匹配不满足条件的记录
匹配key不小于2的记录,也就是说key不存在或者key大于等于2都可以匹配到。
这与
的结果不太一样,该语句只匹配key大于等于2的记录,key不存在的则匹配不到。
注意:
这个是有问题的,如果只是匹配不等于某个值,应该使用:
$not操作符可以联合$mod, 正则表达式等。
27,$nor操作符匹配不满足一组条件且
这个匹配key1不等于value1且key2不等于value2的记录,$nor的多个条件之间是且的关系
28,$and操作符匹配满足一组条件且,和$nor相反
匹配key1等于value1,且key2等于value2的记录,当然key1和key2必须存在。
29,$text操作检索文档
检索文档中包含text1或者text2的记录
检索文档中包含text1或者text2,但是没有text3的记录
检索文档中包含"text1 text2",但是没有text3的记录,这里把text1 text2当作一个完整的单词对待。
30,$where操作执行JavaScript查找
这个功能就太强大了,它可以对每条记录使用javascript语句进行运算,返回true或者false,当然效率就非常低下了,不能使用索引等功能,所以最好配合其他条件一起检索,建议只要能够用其他条件的都不要使用$where。
这里this是表示当前记录。
你也可以这样写:
- mongo查询方法汇总
- mongo查询方法汇总
- mongo 查询
- mongo查询
- mongo查询
- Mongo查询
- hibernate 查询方法汇总
- mongoVUE 查询方法汇总
- Mongo 关于时间的查询,数据库添加索引的方法
- Mongo常用操作汇总
- Mongo的高级查询
- mongo查询语法收藏
- spring mongo模糊查询
- mongo 查询语句
- mongo aggregate聚合查询
- Mongo 查询命令
- mongo 过滤 分组查询
- mongo 高级查询
- 在Android 7.0上PopupWindow.showAsDropDown不起作用的解决方法
- 一文读懂大数据平台——写给大数据开发初学者的话!
- 2017计算机岗位需求
- Cesium学习笔记(四)Camera
- Java线程池使用说明
- mongo查询方法汇总
- CSS3背景属性和渐变
- 删除链表中的元素
- Matlab绘图-很详细,很全面
- static关键字的用法-包括内存分配
- 447. Number of Boomerangs的C++解法
- 162. Find Peak Element
- android 字符串中某个字段可点击和颜色设置
- Android使用sqlliteOpenhelper更改数据库的存储路径放到SD卡上