MongoDB(shel)-表增删改

本文介绍了MongoDB的基本操作,包括文档的插入、批量插入、删除、修改等,并详细讲解了update操作的不同用法及批量更新的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

插入(表:user)
插入文档
db.user.insert({name:"test1",class:"08级小鲜肉"})

#####批量插入文档
shell中MongoDB中不不存在批量插入数据,想完成批量插入可以用MongoDB的应用驱动或是shell的for循环操作

save操作

save操作和insert操作区别相当于遇到_id相同情况下save会完成保存insert会报错

删除
删除所有数据
db.user.remove()
集合会删除但是索引不会被删除
根据条件删除
db.user.remove({条件})

如果你想清除一个数据量十分庞大的集合直接删除该集合并且重新建立索引的办法比直接用remove的效率高很多

修改
强硬的数据替换式更新操作
db.user.update({查询条件},{结果值})  直接将源数据覆盖(相当于MySQL中先删除 后插入的效果)
db.user.update({查询条件},{$set:{结果}})  只将结果值用相同键的数据覆盖
相当于MySQL中的 set语句
例如:db.user.update({"name":"test1"},{"class":"软件工程"})

因为是强制替换当前的数据和已有的数据ID冲突的时候则系统会报错

insertOrUpdate
db.user.update({查询器},{结果值},true) 当第三个参数设置为true时  查询器查出结果就执行更新操作,查不出来执行插入操作

若是结果值里的数据有ID重复也会报错

批量更新
db.user.update({查询器},{set:{结果值}},true,true) 当第四个参数为true则为批量操作
默认为false 只修改第一个数据
修改器($语法部分省略)
修改器名称语法解释
$set{set:{field:value}}用来指定一个键值对如果存在就进行修改 不存在则添加
$inc{inc:{field:num}}如果field字符类型为数字,可以为field数值进行加减操作 num为:1 增加1 为-1:减1
$unset{unset:{fidld:1}}删除指定的键
$push{push:{field:vaule}}为指定的键(数组格式)追加新的值 若不存在指定的键则创建数组类型键值对 若键不为数组则报错
$pushAll{pushAll:{field:array}}添加数组数据
$addToSet{addToSet:{field:value}}若目标field数组中不存在value时才加入
$pop{pop:{field:value}}从指定数组中删除值 1:删除最后一个 -1:删除第一个
$pullpull:{field:value}从指定数组中删除value值
$pullAllpull:{field:value,value2}从指定数组中删除value值 可以批量
$回头在写回头在写
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值