位置: 编程技术 - 正文

MongoDB数据库插入、更新和删除操作详解(mongodb数据库语句)

编辑:rootadmin

一、Insert操作

Insert操作是MongoDB插入数据的基本方法,对目标集合使用Insert操作,会将该文档添加到MongoDB并自动生成相应的ID键。文档结构采用类似JSON的BSON格式。常见的插入操作主要有单条插入和批量插入两种形式。插入时只是简单地将文档存入数据库中,不进行额外的验证,也不会执行代码,所以不存在注入式攻击的可能。

1、单条插入

2、批量插入

MongoDB对批量插入的支持是通过传递多个文档组成的数组到数据库来实现的。由于它插入数据是通过发送TCP请求的,这样只需发送单个TCP请求,且数据库无需处理大量的消息头,减少插入时间。这种方式的批量插入一次只能将多个文档插入到一个集合中,对于插入到多个集合可以循环调用Insert操作。

二、Remove操作

remove函数可以用来删除数据,它能接受一个文档作为可选参数,只有符合条件的文档才会被删除。删除数据是永久性的,不能撤销,也不能恢复,需要谨慎。删除文档需要清空整个集合,不如直接删除集合快。

三、Update操作

update函数用于修改数据库中的数据,它接收两个参数,一个是查询文档,用来查找要更新的文档,另一个是修改器文档,用来描述对找到的文档做哪些修改。更新操作是原子性的,如果多个更新同时发生,则所有的更新都会执行,但最后的更新是最终赢家。

1、整体更新(文档替换)

2、局部更新(修改器)

部分更新是通过原子的更新修改器实现的,使用修改器时除了”_id“的值不能改变,其他任何值都能改变。文档替换是可以改变所有值的。

$inc修改器:将指定属性的值增加特定的步长,如果键不存在则创建它。

$set修改器:用来指定一个键的值,如果不存在则创建它。

$push:数组修改器,如果指定的键存在,则向已有的数组末尾加入一个元素,键不存在则会创建一个新的数组。

3、upsert操作

upsert操作具有saveOrUpdate的功能,如果没有文档符合更新条件,则以更新条件和更新文档为基础创建一个新的文档。如果有符合更新条件的文档,则正常更新。创建新文档时会以条件文档作为基础,将修改器作用其之上。upsert操作是原子性的,高效的。

4、批量更新

批量更新只需将update的第4个参数设为true即可。

四、瞬间完成

上面的插入,删除和更新操作都是瞬间完成的,它们不需要等待数据库响应。这样的实现可以获取高性能,速度非常快,只会受客户端发送速度和网络速度的制约。但由于不会获取服务器状态,所以不能保证操作顺利完成。这对于付费系统,安全性较高的系统是不可行的,此时对这些操作需要使用它们的安全版本。安全版本会在操作执行后立即运行getLastError命令,来检查是否执行成功。如果失败一般会抛出可捕获的异常,然后我们可以在代码中处理。

五、请求和连接

数据库会为每个MongoDB数据库连接创建一个队列,存放这个连接的请求,客户端新发送的请求会被放到队列的末尾。只有队列中的请求都执行完毕,后续的请求才会执行。即对于单个连接来说,请求都是顺序执行不存在并发问题,所以它总能读到自己写的东西。但对于不同的连接就有可能出现读取和写入不一致的问题,在驱动程序使用连接池时要特别注意此行为。具体连接池信息可参考官网:MongoDB官网

推荐整理分享MongoDB数据库插入、更新和删除操作详解(mongodb数据库语句),希望有所帮助,仅作参考,欢迎阅读内容。

MongoDB数据库插入、更新和删除操作详解(mongodb数据库语句)

文章相关热门搜索词:mongodb数据库连接方式,mongodb配置数据库的步骤,mongodb数据库连接方式,mongodb数据库怎么用,mongodb数据库连接方式,mongodb数据库怎么用,mongodb数据库语句,mongodb数据库怎么用,内容如对您有帮助,希望把文章链接给更多的朋友!

MongoDB下根据数组大小进行查询的方法 注意:作者使用的mongodb版本为2.4.7。首先插入测试数据db.data.insert({name:'a',num:[,,,,1]});db.data.insert({name:'b',num:[,]});db.data.insert({name:'c',num:[]});键nu

MongoDB中javascript脚本编程简介和入门实例 注:作者使用的mongodb版本为2.4.7。入门例子conn=newMongo();db=conn.getDB("db-name");//选择数据库db.auth("user-name","password");//用户验证varmap=function(){split_result=this.sen

MongoDB中MapReduce编程模型使用实例 注:作者使用的MongoDB为2.4.7版本。单词计数示例:插入用于单词计数的数据:db.data.insert({sentence:'Considerthefollowingmap-reduceoperationsonacollectionordersthatcontainsd

标签: mongodb数据库语句

本文链接地址:https://www.jiuchutong.com/biancheng/320216.html 转载请保留说明!

上一篇:MongoDB常用操作命令大全(mongodb的常用命令)

下一篇:MongoDB下根据数组大小进行查询的方法(mongodb 根据条件查询数量)

  • 季度内超过30万红冲后用不用缴税?
  • 汇算清缴后发现多结转了成本
  • 发工资可以用个税抵扣吗
  • 电子税务局发票验旧怎么操作
  • 小微企业应纳税所得额超过300万怎么办
  • 申报个税人员金额一般
  • 银行入息是入几个月的
  • 资本公积什么情况下转增资本
  • 由财政拨钱还银行借款怎么做分录?
  • 其他应付为负数怎么处理
  • 民非企业缴纳社保会计分录
  • 小规模公司怎么注册
  • 纳税人所在地为
  • 增值税和增值税额的区别
  • 投标报价里税金和税率是一个吗
  • 递延所得税资产怎么计算
  • 卷烟批发环节消费税计算
  • 销货成本销货成本是什么类账户
  • 债务免除的税务处理
  • 怎么防止接受虚开增值税发票?
  • 新租赁准则承租人计提折旧吗
  • 税金及附加期末结转分录
  • 预提企业所得税税额怎么计算
  • 漏记的账务怎么处理
  • 公司账户里的钱有利息吗
  • 免征增值税的会计处理方法有哪些
  • 如何使用windows的记事本创建文件
  • win7系统中病毒怎么办
  • 劳务公司开具劳务费发票
  • php中字符串函数
  • 外购货物用于职工福利进项税额可以抵扣吗
  • 应收存款利息计入什么科目
  • PHP:spl_autoload_unregister()的用法_spl函数
  • 不征税收入用于支出所形成的费用是什么意思
  • .exe是什么软件
  • 员工提前预支工资借条
  • 鸟瞰画面
  • 前端项目部署到nginx
  • 公司注销后所欠债怎么办
  • 捐赠所得属于什么会计科目
  • js map()
  • 2023跨年代码大全可复制免费
  • php原生导出excel表单元格格式
  • php分类
  • laravel运行
  • 应付职工薪酬总账和明细账
  • 小企业原材料
  • 营业外支出会计科目
  • 进口货物的账务处理办法
  • c语言strncat函数用法
  • 内部交易费用外部交易费用
  • 自然人独资公司可以变更法人吗
  • 公司购进设备会计分录
  • 卸车费属于什么费用
  • 将MySQL help contents的内容有层次的输出方法推荐
  • 同控和非同控的企业合并的分录
  • 行政单位无偿划拨资产账务处理
  • 预付账款年底怎么调账
  • 车子以旧换新还能贷款吗
  • 广告费应该计入办公费还是印刷费
  • 抵债资产处置账务实例
  • 道路施工企业的上级监管部门是谁
  • 没有认证的进项税额怎么做凭证
  • 重大影响包括50%吗
  • 如何控制生产成本和利润
  • sql如何随机抽样
  • mac怎么删除系统软件
  • exfat 打不开
  • yum update upgrade
  • java的理解
  • 使用Jasmine和Karma对AngularJS页面程序进行测试
  • android get
  • r+python
  • javascript判断
  • js设置按钮禁用和开启
  • 查验发票真伪
  • 发票金额模糊怎么查询
  • 广东国税局发票查询系统
  • 国家税务总局公告2017年第21号
  • 地税局跟税务局有什么区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设