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 $nedb.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}]}) # 在不同字段查询或条件时使用$ordb.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 sortlimit 选取数据量skip 跳过数据量sort 根据字段进行排序db.stu.find().sort({ name:1 }).skip(6).limit(3)

 

相关文章