MongoDB常用查询

来源:互联网 发布:联通网络客服人工电话 编辑:程序博客网 时间:2024/05/21 07:53

1.NOT NULL <=> 查询name值不为空的所有记录

// 查询条件{name:{$exists:true}}
// 全语句db.user.find({name:{$exists:true}}).sort({ "_id": 1}).skip(0).limit(30)

2.OR <=> 查询name='tom'name='jim'的记录

// 查询条件{$or:[{name:'tom'},{name:'jim'}]}
// 全语句db.user.find({$or:[{name:'tom'},{name:'jim'}]}).sort({ "_id": 1}).skip(0).limit(30)

3.AND <=> 查询name='tom'并且age=18的记录

// 查询条件{$and:[{name:'tom'},{age:18}]}
// 全语句db.user.find({$and:[{name:'tom'},{age:18}]}).sort({ "_id": 1}).skip(0).limit(30)

或者

// 查询条件{name:'tom',$and:[{age:18}]}
// 全语句db.user.find({name:'tom',$and:[{age:18}]}).sort({ "_id": 1}).skip(0).limit(30)

注意,如果有层级的查询,key一定要加引号

查询friend对象名称不为空的记录

{'friend.name':{$exists:true}}

4.模糊查询

// 查询name为 Tomson Jackson{name:{$regex:'son'}
db.user.find({name:{$regex:'son'}).sort({ "_id": 1}).skip(0).limit(30)

5.范围、区域查询

  • $lt: 小于
  • $gt:大于[great than]
  • $lte: 小于等于
  • $gte: 大于等于[great than equal]
// 查询未成年{age:{$lt:18}}
// 全语句db.user.find({age:{$lt:18}}).skip(0).limit(30)

!!!注意:如果查询的区域字段是字符串的数字,需加引号。如:

//查询学号大于1010的{studentNo:{$gt:'1010'}}
原创粉丝点击