mongodb_增删改语句

  • 作者:lwj
  • 分类:数据库
  • 发表日期:2019-10-10 23:35:41
  • 阅读(610)
  • 评论(0)

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'}})

觉得不错,支持一下!

提交评论

您尚未登录,登录之后方可评论~ 登录 or 注册

评论列表

暂无评论
返回顶部

建议反馈

1. 可在博文底部留言评论

2. 发邮件到i_suichuan@163.com