MongDB增删改查

增加

增加一条:db.th.insertOne({}) // 返回 _id 
增加多条:db.th.insertMany([{},{},{}]) // 返回 _ids

针对Array增加操作:
db.stu.updateOne({name:"wl"},{$push:{"hobby":"小姐姐"}}) #增加一个
db.stu.updateOne({name:"wl"},{$pushAll:{"hobby":[1,2,3]}}) #增加多个

 

查询

db.th.find({})  #查询所有符合条件的数据 
db.th.findOne({})  #查询符合条件的第一条数据 

db.th.findOne({name:2})  #查询name字段 == 2 的数据
db.stu.find({name:"2",age:99})  #并列条件 name与age 同时满足的

数学比较符 $lt $lte $gt $gte $eq $ne
db.user.find({age:{$gt: 18}})

$all : 子集查询 db.stu.find({l:{$all:[
8,6,4,2]}}) Object 查询 : db.stu.find({"class.name":"python"}) 并列查询 db.Collection.find({Field:1,Field2:2}) 或查询 db.Collection.find({$or:[{Field:1},{Field2:3}]}) db.stu.find({$or:[{age:99},{ages:666}]}) # 在不同字段查询或条件时使用$or db.Collection.find({Field:{$in:[1,2,3,4,5]}}) db.stu.find({age:{$in:[9,99,999,9999,9999]}}) #在相同字段情况下查询或条件时使用 $in

修改

db.stu.updateOne({age:99}, {$set:{"name":"JW8"}}) #更新第一条符合条件的数据:

修改器:$set 强制将某字段的value修改
db.stu.updateMany({age:99}, {$set:{"name":"JW8"}})  #更新所有符合条件的数据 


$set : 强制修改字段值 
$inc : 引用增加 db.stu.updateMany({}, {$inc: {"age":10}}) #所有的age增加10,可以写负数为减少
$unset: 强制删除某个Field db.stu.updateMany({}, {$unset: {"age":1}}) # 删除所有的age 1为True


针对Array:更新元素
db.stu.updateOne({name:"wl","hobby":2},{$set:{"hobby.$":"1"}})  
db.stu.updateOne({name:"JW8","class.name":"python"},{$inc:{"class.$.score":10}})



db.stu.updateOne({name:"wl"},{$unset:{"class.classtype":"bcyy"}})
db.stu.updateOne({name:"wl"},{$set:{"class.classtype":"bcyy"}})

删除

db.th.deleteOne({name:1}) # 删除第一条符合条件的数据 
db.th.deleteMany({name:1})  #  删除符合条件的所有数据
db.th.deleteMany({}) # 删除所有数据 


 针对Array删除操作:
db.stu.updateOne({name:"wl"},{$pull:{"hobby":"DSB"}}) #删除一个
db.stu.updateOne({name:"wl"},{$pullAll:{"hobby":[2,3]}}) #循环删除

$pop() 是删除列表中的第一个 (-1) 或者最后一个 (1) 
db.stu.updateOne({name:"wl"},{$pop:{"hobby":1}})删除最后一个
db.stu.updateOne({name:"wl"},{$pop:{"hobby":-1}})删除第一个元素

$关键字

用来存储符合条件的元素下标索引,只保存第一个符合条件的
 l = [1,2,3,1,2,2,2] 哪个元素 == 2 它的下标是多少 $就等于这个下标的数字
 l[1] = "wl"
 l[$] = "wl"
db.stu.updateOne({name:"wl","hobby":2},{$set:{"hobby.$":"qwe"}}) #修改hobby第一个为2的元素修改为qwe,$为下标

分页

limit skip sort
limit 选取数据量
skip 跳过数据量
sort 根据字段进行排序
db.stu.find().sort({ name:1 }).skip(6).limit(3)

 

posted @ 2019-03-26 23:52  答&案  阅读(156)  评论(0编辑  收藏  举报