MongoDB语言:
1.按条件查看
db.getCollection('User').find({UserName:"XXX"})
2.判断某个表key是否存在,true为存在,false为不存在
db.getCollection('Member').find({"AddedPermissions":{"$exists":true}})
3.多个条件进行查询
db.getCollection('Group').find({"GroupName.zh":{$regex:"名字"},Classification:"OpenCustomer"})
4.某个字段包含特定的文字
db.getCollection('Group').find({"GroupName.zh":{$regex:"特定文字"}})
5.查询数组里面包含某个字段
db.getCollection('Member').find({AddedPermissions:{$elemMatch:{$eq:"XX"}}})
6.按条件计算count
db.getCollection('Group').find({"Country.zh":{$regex:"中国"}}).count()
- 按某个条件进行求和
db.getCollection('Group').aggregate([{$group : {_id : "$Country.zh", num_tutorial : {$sum : "$ResidentNumber"}}}])
- 修改更新语句
db.getCollection('Job').update({LatestTriggerDate:1583833687399.0},{$set:{LatestTriggerDate:0.0}})
9.等于
db.col.find({"by":"菜鸟教程"}).pretty()
10 小于
db.col.find({"likes":{$lt:50}}).pretty()
11 小于或者等于
db.col.find({"likes":{$lte:50}}).pretty()
12 大于
db.col.find({"likes":{$gt:50}}).pretty()
13 大于或者等于
db.col.find({"likes":{$gte:50}}).pretty()
14 不等于
db.col.find({"likes":{$ne:50}}).pretty()
15 OR
db.col.find(
{
$or: [
{key1: value1}, {key2:value2}
]
}
).pretty()
16、查询所有记录
db.userInfo.find();
- 查询去掉后的当前聚集集合的某列的重复数据
db.userInfo.distinct(“name”);
18.字符模糊查询
db.userInfo.find({name: /mongo/});
19.查询制定列数据
db.userInfo.find({}, {name: 1, age: 1});
相当于:select name, age from userInfo;
- 按条件查询指定列数据
db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1});
相当于:select name, age from userInfo where age <25;
- 排序
升序:db.userInfo.find().sort({age: 1});
降序:db.userInfo.find().sort({age: -1});
- 查询前5条数据
db.userInfo.find().limit(5);
相当于:select * from userInfo limit 5;
- 查询10条以后的数据
db.userInfo.find().skip(10);
相当于:select count() from userInfo as total;
select from userInfo limit 10,total;
- 查询在5-10之间的数据
db.userInfo.find().limit(10).skip(5);
可用于分页,limit是pageSize,skip是第几页pageSize
相当于:select from userInfo limit 5,10;
- or 与查询
db.userInfo.find({$or: [{age: 22}, {age: 25}]});
相当于:select * from userInfo where age = 22 or age = 25;
- 查询第一条数据
db.userInfo.findOne();
db.userInfo.find().limit(1);
相当于:select * from userInfo limit 1;
- 查询某个结果集的记录条数
db.userInfo.find({age: {$gte: 25}}).count();
相当于:select count(*) from userInfo where age >= 20;
- 查询第一条数据
db.userInfo.findOne();
db.userInfo.find().limit(1);
相当于:select * from userInfo limit 1;
- 查询某个结果集的记录条数
db.userInfo.find({age: {$gte: 25}}).count();
相当于:select count(*) from userInfo where age >= 20;
- $elemMatch操作符将匹配数组中至少有 1 个元素满足查询条件的文档。
查找AddedPermissions数组中等于NationWideLearnCenter的文档
db.getCollection('Member').find({AddedPermissions:{$elemMatch:{$eq:"NationWideLearnCenter"}}})
29.$eq操作符将匹配数组中至少有 1 个元素满足查询条件的文档。
查找AddedPermissions数组中等于NationWideLearnCenter的文档
db.getCollection('Member').find({AddedPermissions:{$elemMatch:{$eq:"XX X"}}})
30.$eq 匹配等于指定值的值
db.getCollection('test').find({"type": {$eq:"技术"}})
31.$in 匹配数组中指定的任何值
db.getCollection('test').find({"tag": {$in:["A"]}})
32.$regex 匹配与正则表达式规则相符的文档
包含某个字符串
i表示不区分大小写
db.getCollection('Member').find({'SearchName':/XXX/i})
db.getCollection('Member').find({'SearchName':{$regex:'XXX'}})
- 连表查询
db.PatientDoctor.aggregate([
{
$lookup: { // 左连接
from: "Patient", // 关联到Patient表
localField: "PatientId", // PatientDoctor 表关联的字段
foreignField: "p8Id", // Patient 表关联的字段
as:"Patients"
}
},
{ $match : {"DoctorDisplayName.zh":"XXX"}},
{ $group: { _id:"$Patients.Gender", num_tutorial: { $sum: 1 } } }
])
- type有哪几种查询
查询Schedule里面有哪几种类型的定时任务
db.getCollection('Schedule').aggregate([{$group:{_id:'$ScheduleType'}}])
网友评论