简单查找全部

查询全部条数

1
db.find() / db.find({})

字段条件简单查找

条件查找age为10的字段

1
db.find({age:10})

字段的筛选

查找全部条数,并且值保留age字段,会自带_id字段,因为数据库的默认添加

1
db.find({},{age:1})

去掉_id字段,只保留age字段

1
db.find({},{_id:0,age:1})

过滤掉age与sex字段,保留剩余字段

1
db.find({},{age:0,sex:0}) 

只保留age与sex字段

1
db.find({},{age:1,sex:1}) 

注意,除了_id字段之外,其余字段不可以在有字段为1的情况下设置为0

条件查找

符号

gt 大于
lt 小于
gte 大于等于
lte 小于等于

查找当前文档中age字段大于等于20的信息

1
db.find({age:{$gte:20}}) 

查找文档中age字段小于20的信息

1
db.find({age:{$lt:20}})

多条件查找

符号

and 且 (他用于模糊条件且)

查询文档中age字段大于5且age字段小于20的信息

语法 $and:[条件1,条件2,…]

他是直接查询符合数组所有条件的信息

1
db.user.find({$and:[{age:{$gte:5}},{age:{$lte:20}}]})

$in 存在

他用于精准匹配值,类似枚举

1
db.user.find({age:{$in:[1,2,3,5,7]}})

$or 或

db.user.find({KaTeX parse error: Expected ‘}’, got ‘EOF’ at end of input: or:[{age:{lte:5}},{age:{$gte:10}}]})

只要符合给定条件中的一个,就匹配成功

regex 正则查找

db.user.find({name:/3/i}) 正则查找name字段中含有’3’的字符串

排序

根据字段对信息进行排序

要先查找到数据在进行排序操作,根据age字段进行升序排序,-1为降序排序。

1
db.user.find().sort({age:1})

跳过与查找个数

count 数量

1
db.user.find().count()

skip 跳过

1
db.user.find().skip(4)

limit 查找信息数量

它规定只查找几条

1
db.user.find().limit(3)

查找信息自增

$inc 字段自增

1
db.user.updateOne({name:'ceshi10'},{$inc:{age:1}}) 查询到信息,age字段随着每次更新自增