insert
db.user.insertOne({username:"xiaoming",age:7,sex:"男"})
db.user.insertOne({username:"xiaoming",age:7,sex:"男",friends:[{name:"wangcai"},{name:"lili"}]})
db.user.insertOne({username:"xiaoliang",age:10,sex:"男",friends:[{name:"wangcai"},{name:"lili"}],like:["red","green","yellow"]})
db.user.insertOne({username:"xiaoliang",age:10,sex:"男",friends:[{name:"wangcai"},{name:"lili"}],like:["red","green","yellow"],size:[1,5,7]})
db.user.insertOne({username:"xiaoming",age:7,sex:"男",birthday:null})
find
查询name等于"xiaoming"的
db.user.find({username:"xiaoming"})
查询friends的name有"lili"的
db.user.find({friends:{name:"lili"}})
查询friends的name有"lili"的
db.user.find({"friends.name":"lili"})
查询age大于5
db.user.find({age:{$gt:5}})
查询数组中的元素完全匹配
db.user.find({like:["red","green","yellow"]})
查询包含数组中的元素
db.user.find({like:{$all:["red","green"]}})
查询包含数组中的一个元素
db.user.find({like:"red"})
查询age大于9小于11的
db.user.find({age:{$gt:9,$lt:11}})
查询like中任意一个是"red"的
db.user.find({like:{$elemMatch:{$eq:"red"}}})
查询size中任意一个符合大于6小于9的
db.user.find({size:{$elemMatch:{$gt:6,$lt:9}}})
查询size的size属性为3的
db.user.find({size:{$size:3}})
查询sex=男,返回_id,username,相当于select id,username from user where sex = ‘男’
db.user.find({sex:"男"},{username:1})
查询sex=男,返回username,相当于select username from user where sex = ‘男’
db.user.find({sex:"男"},{username:1,_id:0})
查询sex=男,返回除了username其他所有字段
db.user.find({sex:"男"},{username:0})
查询birthday为null的,包括没有birthday字段的
db.user.find({birthday:null})
查询birthday为null的
db.user.find({birthday:{$type:10}})
update
更新第一个
db.user.updateOne({username:"xiaoming"},{$set:{age:8}})
更新多个
db.user.updateMany({username:"xiaoming"},{$set:{age:8}})
更新一个,$currentDate表示:更新lastModified字段为当前时间,如果不存在这个字段,将会创建这个字段
db.user.updateOne({username:"xiaoming"},{$set:{age:8},$currentDate:{lastModified: true}})
更新,注意和上面的语法不通, s e t 外 层 有 中 括 号 , l a s t M o d i f i e d 引 用 了 set外层有中括号,lastModified引用了 set外层有中括号,lastModified引用了$NOW
db.user.updateOne({username:"xiaoming"},[{$set:{age:9,lastModified:"$$NOW"}}])
delete
删除所有
db.user.deleteMany({})
删除所有status为A的
db.user.deleteMany({ status : "A" })
删除第一个
db.user.deleteOne({ status : "A" })