insert
向集合中插入文档
db.collection.insert({field1:string},{field2:int},{field3:list},{field4:dict})
向集合中插入一条文档
db.collection.insertOne({key:value})
向集合中插入多条文档
db.collection.insertMany([{key:value},{key:value},{key:value}])
delete
删除符合条件的第一条文档
db.collection.deleteOne({
<query>, query :(可选)删除的文档的条件
{
justOne: <boolean>, justOne :(可选)如果设为 true 或 1 只删除一个文档
writeConcern: <document> writeConcern :(可选)抛出异常的级别
}
)
删除符合条件的所有文档
db.collection.deleteMany({})
save
db.collection.save({
<document>, document : 文档数据
{
writeConcern: <document> writeConcern :可选,抛出异常的级别
}
})
———————————————————————————————
判断主键是否存在:
存在:传入的文档来替换已有文档记录
不存在:插入一条新的文档记录
update
db.collection.update(
<query>, # 条件
<update>, # 需要更新的文档信息
{
upsert: <boolean>, # 可选,如果不存在符合条件的文档则插入一条,默认是false
multi: <boolean>, # 可选,默认更新第一条,为true则更新所有
writeConcern: <document> # 可选,抛出异常的级别
}
)
db.collection.updateOne() # update一个文档
db.collection.updateMany() # update所有文档
# 注:update()语句默认只操作筛选出来的第一条文档
$set (更新文档中某些字段的值)
col集合中查找name=sitven and age=23的文档,将其字段age的value更新为24
db.col.update({name:'sitven',age:23},{$set:{age:24}},{multi:true})
upsert
col集合中查找name=sitven and age=24的文档,如果存在将其age的值更新为25,否则新插入一条文档
db.col.update({name:'sitven',age:24},{$set:{age:25}},{upsert:true})
multi
col集合中查找age=25的所有文档,将其字段age的值更新为26
db.col.update({age:25},{$set:{age:26}},{multi:true})
$inc (对某个数字字段的值增加n)
col集合中查找name=sitven and age=26的文档,将其字段age值增加4
db.col.update({name:'sitven',age:26},{$inc:{age:4}})
$unset (删除某个字段)
col集合中查找age=27的文档,将删除其date字段
db.col.update({age:27},{$unset:{date:1}})
$push (把数据追加到字段中,注:field只能是数组类型, 如果key不存在,则自动插入一个数组类)
col集合中查找age=27的文档,将其date字段追加一个2020-03-10的值
db.col.update({age:27},{$push:{date:'2020-03-10'}})
$pushAll (把多个数据追加到某个字段中,value为数组类型)
col集合中查找age=27的文档,将其date字段追加2021-03-18和2022-03-19的两个值
db.col.update({age:27},{$pushAll:{date:['2021-03-18','2022-03-19']}})
$addToSet (追加一个值到某个字段的数组内,若字段不存在则新增这个字段)
col集合中查找age=27的文档,将其date字段追加2021-03-23和2021-03-24的两个值
db.col.update({age:27},{$addToSet:{data:['2021-03-23','2021-03-24']}})
$pop (用于删除数组内的一个值)
注:删除数组内第一个值:{$pop:{key:-1}}、删除数组内最后一个值:{$pop:{key:1}}。删除固定值{$pop:{key: ‘value’}}
col集合中查找age=27的文档,删除字段date的value数组的第一个值
db.col.update({age:27},{$pop:{date:-1}})
$pull ( 从数组字段中value内删除为value1的所有数据)
col集合中查找age=27的文档,删除字段date的value数组中的‘2021-03-18’
db.col.update({age:27},{$pull:{data:'2021-03-18'}})
$pullAll ( 从数组字段中删除等于条件数组的所有数据)
col集合中查找age=27的文档,删除字段date的value数组中等于['2021-03-12','2021-03-13']内任意值的数据
db.col.update({age:27},{$pullAll:{data:['2021-03-12','2021-03-13']}}
$rename ( 对字段重命名)
col集合中查找age=27的文档,将其字段date重命名为ddt
db.col.update({age:27},{$rename:{'date':'ddt'}})