增加
增加一条: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)
原文地址:https://www.cnblogs.com/wanglan/p/10604790.html
时间: 2024-11-03 09:11:50