1.插入
1.1 insert
db.[documentName].insert({})
db.orderInfo.insert({"orderId":"201712251002","orderName":"测试订单"});
//指定_id添加(注意:是ObjectId())
db.orderInfo.insert({"_id":ObjectId("5a40a179923ea32829f21b37"),"orderName":"测试订单3"})
//如果插入重复id报如下错误:
E11000 duplicate key error collection: afdata.orderInfo index: _id_ dup key: { : ObjectId('5a40a179923ea32829f21b37') }
1.2 save
db.[documentName].save({})
db.orderInfo.save({"_id":ObjectId("5a40a179923ea32829f21b37"),"orderName":"测试订单3"})
1.3 区别
save操作和insert操作区别在于当遇到_id相同的情况下:
save完成保存操作并覆盖之前数据,insert则会报错.
注意:shell都不支持批量操作.
1.4 pretty()
可以格式化结果,固定集合
2.删除
2.1 drop
删除整个集合
db.collection.drop();//删除集合
2.2 remove
//删除所有数据
db.[documentName].remove()
//指定条件删除数据
db.[documentName].remove({})
db.orderInfo.remove({"_id":"5a40a179923ea32829f21b371"})
2.3 注意
如果删一个数据量十分庞大的集合;直接删除该集合并且重新建立索引的办法,比直接用remove的效率和高很多
3.修改
3.1 替换式更新
db.[documentName].update({criteria},{objNew}},upsert, multi );
- criteria(查询器) : update的查询条件,类似sql update查询内where后面的
- objNew(修改器): update的对象和一些更新的操作符(如 , inc…)等,也可以理解为sql update查询内set后面的
- upsert : 默认是false:只修改不插入;如果为true则代表insertOrUpdate,即如果不存在update的记录,则插入.
- multi : 默认是false:只更新找到的第一条记录;如果这个参数为true,就把按条件查出来多条记录全部更新。
3.2 修改器详解:
3.2.1 基础
修改器名称 | 说明 | 语法 | 举例 |
---|---|---|---|
set|键值对操作|{set:{field: value}} $inc 数字类型加减 $unset 删除指定键 $push 追加/创建数组(一条或多条) $pushAll v3.6中已取消 $addToSet 添加数组和each配合使用 $pop 弹出数组中的首或者尾 $pull 取出数组中指定一个数据 $pullAll 取出数组中指定一批数据 3.2.2 $set指定一个键值对,如果存在键就进行修改不存在则进行添加 3.2.3 $inc只是使用与数字类型(可以为小数),他可以为指定的键对应的数字类型的数值进行加减操作. 3.2.4 $unset删除指定的键 用修改器$unset时,不论对目标键使用1、0、-1或者具体的字符串等都是可以删除该目标键 3.2.5 $push数组中添加单条数据: 3.2.6 $pushAll用法和$push相似,添加数组数据.注:在3.6版本中查看已经取消了. 3.2.7 $addToSet目标数组存在此项则不操作,不存在此项则加进去 3.2.8 $pop从指定数组删除一个值1删除最后一个数值,-1删除第一个数值 3.2.9 $pull删除一个数组中指定的数据 3.2.10 $pullAll一次性删除多个指定的数值 3.2.11 $参考 数组定位器链接 3.3 runCommandrunCommand可以执行mongoDB中的特殊函数 参考文章:
12-16
![]()
06-06
“相关推荐”对你有帮助么?
提交
评论
![]() ![]() ![]()
查看更多评论
![]()
添加红包
![]() ![]() |