MongoDB集合数据查询总结
# 1、查询所有记录
db.userInfo.find(); //相当于:`select * from userInfo;`
1
# 2、查询去重后数据
db.userInfo.distince("name"); //相当于:`select distinct name from userInfo;`
1
# 3、查询age=22的记录
db.userInfo.find({"age",22}); //相当于:select * from userInfo where age=22
1
# 4、查询age>22的记录
db.userInfo.find((age:{$gt:22}}); //相当于:select * from userInfo where age>22
1
# 5、查询age<22的记录
db.userInfo.find({age:{$lt:22}}); //相当于:select * from userInfo where age<22
1
# 6、查询age>=25的记录
db.userInfo.find({age:{$gte:25}}); //相当于:select * from userInfo where age>=25
1
# 7、查询age<=25的记录
db.userInfo.find({age:{$lte:25}}); //相当于:select * from userInfo where age<=25
1
# 8、查询age>23并且age<=26
db.userInfo.find({age:{gte:23,$lte:26}});
1
# 9、查询name中包含mongo的数据
db.userInfo.find({name:/mongo/}); //相当于:select * from userInfo where name like '%mongo%';
1
# 10、查询name中以mongo开头的
db.userInfo.find((name:'^mongo/}); //相当于:select * from userInfo where name like 'mongo%';
1
# 11、查询指定列name,age数据
db.userInfo.find({},{name:1,age:1});
1
# 12、查询指定列name,age数据,age>25
db.userInfo.find({age:{$gt:25}},{name:1,age:1});
1
# 13、按照年龄排序
db.userInfo.find().sort({age:1}); //升序
db.userInfo.find().sort({age:-1}); //降序
1
2
2
# 14、查询name=zhangsan,age=22的数据
db.userInfo.find({name:'zhangsan',age:22});
1
# 15、查询前5条数据
db.userInfo.find().limit(5);
1
# 16、查询10条以后的数据
db.userInfo.find().skip(10)
1
# 17、查询5–10之间的数据
db.userInfo.find().limit(10).skip(5);
1
# 18、or与查询
db.userInfo.find({$or:[{age:22},{age:25|]})
1
# 19、查询第一条 数据
db.userInfo.findOne()
1
# 20、查询某个结果集的记录条数
db.userInfo.find({age:{$gte:25}}).count();
1
# 21、限制查询条数
db.userInfo.find().limit(3).pretty()
1
# 22、查询多种条件的组合
db.userInfo.find({$or:[{name:'liangqicong'},{name:'liangsiting'}]})
db.tuserInfo.find({$and:[{name:'liangqicong'},{name:'liangsiting'}]})
1
2
2
# 23、Mongodb正则查询
db.userInfo.find({"name":{$regex: new RegExp(fileName, 'gi') }}) //fileName 变量
db.userInfo.find({"name":{$regex:"liangqicong[0-9]"}}) //普通正则
db.userInfo.find({"name":{$regex:"(liangsiting)"}}) //分组正则
1
2
3
2
3
# 24、分页查询
db.userInfo.find().skip(0).limit(2)
db.userInfo.find().skip(2).limit(2)
db.userInfo.find().skip(4).limit(2)
1
2
3
2
3
# 25、查询字段对应的数组中包含某个值
db.userInfo.find({state_arr:{$elemMatch:{$eq:"123"}}})
1
# 26、过滤某个key不等于某个值
db.userInfo.find({"name":{$ne:"steven"}})
1
# 27、查询不包含某一个属性(key)的文档
//用法实例(凡是包含name这个key的文档全部返回)
db.op_test.find({"name":{"$exists":true}})
//用法实例(凡是不包含name这个key的文档全部返回)
db.op_test.find({"name":{"$exists":false}})
ps:true和false的区别就是判断是否包含这个key
1
2
3
4
5
6
7
2
3
4
5
6
7
上次更新: 2024/01/30, 00:35:17
- 01
- Node与GLIBC_2.27不兼容解决方案08-19
- 02
- Git清空本地文件跟踪缓存08-13