首页 > 数据库技术 > 详细

MongoDB的文档操作总结

时间:2021-07-02 09:30:43      阅读:18      评论:0      收藏:0      [点我收藏+]

在MongoDB中文档是指多个键及其关联的值有序的放置在一起,实际上指的就是数据

MongoDB中的文档的数据结构和Json基本一致,所以存储在集合中的数据都是Bson格式,Bson是一种类似于JSON的二进制的存储格式,是Binary JSON的简称


1、插入文档

1)插入单个文档

①、db.集合名.insert();

db.dev.insert({title:"bjsxt",description:"it sit",url:www.sxt.com})


②、db.集合名.save();

db.dev.save({title:"bjsxt",description:"it sit",url:www.sxt.com})


③、db.集合名.insertOne()

在MongoDB3.2以后的版本中,提供了insertOne函数用于插入文档


2)插入多个文档

向集合中批量插入多个文档时,需要用数组来存放文档

①、db.集合名.insert([{},{},{}])

db.test.insert([{title:‘java‘,tags:[‘JavaSE‘,‘JavaEE‘,‘JavaME‘]},{title:‘ORM‘,tags:[‘Mybatis‘,‘Hibernate‘]},{title:‘Spring‘,tags:[‘SpringMVC‘,‘SpringBoot‘,‘SpringCloud‘]}])

技术分享图片


②、db.集合名.insertMany([{},{},{}])

在MongoDB3.2以后的版本中,提供了insertMany()函数用于插入文档


3)通过变量新增文档

Mongo Shell工具允许我们定义变量。所有的变量类型为var类型。也可以忽略变量类型。变量中赋值符号后侧需要使用小括号来表示变量中的值。我们可以将变量作为任意文档插入函数的参数

语法格式: 变量名 = ({变量名})


①、通过变量插入单个文档

定义一个变量,然后通过插入函数,将该文档插入到集合中

技术分享图片


②、通过变量批量新增文档

语法结构 变量名 = ([{},{},{}])

db.集合名.insertMany(变量名)


2、更新文档

MongoDB通过update函数或者save函数来更新集合中的文档


1)update函数

update()函数用于更新已存在的文档

语法:db.集合.update({查询条件},{更新内容},{更新参数(可选)})

示例:将title为SpringCloud的改为 Spring-Cloud

db.test.update({title:"springcloud"},{title:"Spring_Cloud"})

技术分享图片


2) 更新操作符

①、$set更新操作符

$set:用来指定一个键并更新键值,若键不存在则创建

语法:db.collection.update({查询条件},{$set:{更新内容}})

示例:将title为Spring-Cloud的改为 SpringCloud

db.test.update( {title:"Spring_Cloud"}, {$set:{title: "SpringCloud"}} )

技术分享图片

示例:将title为SpringCloud的文档添加一个属性num=1

技术分享图片

示例:将所有title为SpringCloud的文档添加属性 size:1000

技术分享图片


②、$inc操作符

$inc:可以对文档中某个值为数字型的键进行增减的操作

示例:将title为SpringCloud的文档的num+1

技术分享图片


③、$unset操作符

$unset:主要用来删除键

示例:删除title为SpringCloud中的num键

技术分享图片


④、$push操作符

$push:向文档中的某个数组类型的键添加一个数组元素,不过滤重复的数据。添加时键存在,则要求其值类型必须是数组;键不存在,则创建数组类型的键

示例:向title为SpringCloud的文档中添加 键为tags,值为[‘SpringCloud Stream‘]

技术分享图片


⑤、$pop操作符

$pop操作符:删除数据元素,1表示从数组的尾部删除,-1表示从数组的头部删除


⑥、pull操作符

$pull:从数组中删除满足条件的元素

示例:删除title为SpringCloud文档中 tags中的 SpringCloud Stream

技术分享图片


⑦、$pullAll操作符

$pullAll:从数组中删除满足条件的多个元素

示例: 删除title为java中的 ,tags中的JavaSE和JavaEE

技术分享图片


⑧、$rename操作符

$rename:对键进行重新命名

示例:将title为java的文档中的tags改为tag

技术分享图片


3)使用Save来更新文档

save方法通过传入的文档来替换已有的文档

语法:save({文档})

示例:将上述最后一个文档更新为 tile:SpringData

技术分享图片

MongoDB的文档操作总结

原文:https://www.cnblogs.com/houchen/p/14961660.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!