mongodb的结构与关系型数据库不同,它类似树状结构,可以很方便对每个分支进行操作,但它没有像mysql那样insert(value、value、value...)那样的语法,也不支持transaction 所以mongodb不能批量插入数据,如果你要批量插入数据,可以在mongodb里写一个循环,

mongodb的结构与关系型数据库不同,它类似树状结构,可以很方便对每个分支进行操作,但它没有像mysql那样insert(value、value、value...)那样的语法,也不支持transaction

所以mongodb不能批量插入数据,如果你要批量插入数据,可以在mongodb里写一个循环,它支持for等语法。

因为MongoDB的底层就不支持这种操作。

从MongoDB的oplog模式中可以看出,MongoDB的每次op都是独立执行的最小单元,因此,不会存在多个op组合成一个执行的情况。因此在各种API中都不会存在这种批量插入的操作。

某网友提到他的理解,觉得很有道理:

这里还是涉及到大家经常用到的传统关系型数据库和NoSQL的本质区别问题,NoSQL的每次操作都非常轻量级,小型化,除了数据的写入外基本没有多余的操作。

类比:MongoDB就是放东西(数据)时把东西扔入相应的柜子(数据库)即可,,而MySQL则要保持与送东西人的沟通(双向连接保持),东西的折叠整理分格存储(有模式)。

MySQL的批量插入就是减少了沟通以及分格等过程,而MongoDB本身就不存在这些过程,因此MongoDB就不存在批量插入这个概念了。

我以前测验用php进行批量向mongodb插入数据的代码:

$conn = new Mongo();

$db = $conn->selectDB("test");//这里设置数据库名称

$collection = $db->mytable;//选择表

/*

+----------------------------------------------------------------

批量插入数据,一次插入10万条数据。把数字改掉就可以多插入些

+----------------------------------------------------------------

*/

$users = array();

for ($i = 0; $i<100000; $i++) {

$users[] = array('username' => 'user'.$i, 'i' => $i);

}

$ok = $collection->batchInsert($users);

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php mongodb 批量插入,MongoDB不支持批量插入相关推荐

  1. [原创]K8Cscan 3.8大型内网渗透自定义扫描器(支持批量C段/B段/A段/IP列表/URL列表/跨网段扫描)

    前言:无论内网还是外网渗透信息收集都是非常关键,信息收集越多越准确渗透的成功率就越高 但成功率还受到漏洞影响,漏洞受时效性影响,对于大型内网扫描速度直接影响着成功率 漏洞时效性1-2天,扫描内网或外网 ...

  2. mongodb 批量插入_MongoDB批量插入– MongoDB插入很多

    mongodb 批量插入 We will look into MongoDB bulk insert today. Multiple documents can be inserted at a ti ...

  3. java mongodb批量更新数据_MongoDB的批量查询条件进行批量更新数据

    今天遇到这样一个场景:在Java中批量更新MongoDB数据,不过每次更新的条件有不一样,那如何有效地进行更新操作呢? 刚开始的时候,我是想到循环批量更新操作,即每一种查询条件进行一次批量更新过程,这 ...

  4. mysql构建器 批量插入_mysqlbatch: mysql的批量执行工具,可以在多台mysql服务器上执行指定的SQL语句,支持sharding,比如在sharding之后的表上批量创建索引...

    MySQL Sharding 批量执行工具 主要功能 批量建库.批量建表.批量执行SQL脚本(创建索引.修改表结构).Sharding使用情况分析 使用方法 python ./mysqlbatch.p ...

  5. mongodb添加创建修改时间_MongoDB数据库插入、更新和删除操作详解

    一.Insert操作 Insert操作是MongoDB插入数据的基本方法,对目标集合使用Insert操作,会将该文档添加到MongoDB并自动生成相应的ID键.文档结构采用类似JSON的BSON格式. ...

  6. SNETCracker:开源的超级弱口令检查审计工具,支持批量多线程

    超级弱口令检查工具 SNETCracker超级弱口令检查工具是一款开源的Windows平台的弱口令安全审计工具,支持批量多线程检查,可快速发现弱密码.弱口令账号,密码支持和用户名结合进行检查,大大提高 ...

  7. 批量文档处理软件推荐,同时处理 Word、Excel、PPT、PDF 等办公文件,支持批量格式转换、重命名和查找替换等

    概要:今天给大家带来的这款专门针对 Word.PPT.Excel.PDF 和记事本文本文件批量处理格式转换的软件--我的ABC软件工具箱.它集合了批量修改文件名称.批量修改文件内容.批量设置页眉页脚. ...

  8. c mysql批量插入优化_MySQL实现批量插入以优化性能的教程

    这篇文章主要介绍了MySQL实现批量插入以优化性能的教程,文中给出了运行时间来表示性能优化后的对比,需要的朋友可以参考下 对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时 ...

  9. 抽了几天用Flex写了个上传小工具,支持批量上传,支持配置

    2019独角兽企业重金招聘Python工程师标准>>> 抽了几天用Flex写了个上传小插件,支持批量上传,想实现MD5校验的但没想到好的方法 欢迎大家提意见 源码地址 http:// ...

最新文章

  1. 交叉熵比平方损失函数的优点
  2. 【代码笔记】iOS-点击城市中的tableView跳转到旅游景点的tableView,下面会有“显示”更多。...
  3. eos和以太坊有什么关系_【EOS价格分析】EOS,宇宙,以太坊价格分析:8月6日
  4. (5)容器级标签和文本级标签
  5. 集合的所有分割方式---2013年1月28日
  6. Note: File Recipe Compression in Data Deduplication Systems
  7. 人工智能将为维护网络安全带来更多可能
  8. 数据系统架构-3.数据仓库设计
  9. 计算流体力学c语言教程,计算流体力学教程
  10. 【服务器系统设计】socket的阻塞模式和非阻塞模式总结
  11. 汇编dos系统调用(输入输出篇)
  12. 华为android打开usb调试模式,华为P6 USB调试在哪 如何打开USB调试【详解】
  13. LTK5328内置自适应升压带PBTL模式_2X8W双声道音频功率放大器
  14. 计算广告-商业化体系
  15. 视频播放器(老)和视频播放器(新)
  16. Map集合中的常用函数(java)
  17. 《ZEMAX光学设计超级学习手册》一一2.5 其他
  18. 计算机二级考试试题c语言,2014年计算机二级c考试试题 1
  19. yolov3出现nun情况解决过程笔记
  20. 收集适合diy的电子制作资料

热门文章

  1. 安卓java模拟器按键精灵,如何反识别模拟器
  2. uniApp 微信小程序 授权 公众号推送信息
  3. 如何巧妙的应对突如其来的电话面试呢
  4. 剖析大数据、人工智能、机器学习、神经网络、深度学习五者之区别与联系
  5. linux下抓管理员hash,Linux下抓取登陆用户密码神器mimipenguin
  6. 关于CKCsec安全研究院
  7. HFM student Hyperion Financial Management
  8. macu盘格式化linux系统盘,Mac上制作Linux U盘启动盘
  9. Moviepy时间变换time_mirror再遇‘OSError: MoviePy error: failed to read the first frame of video file‘解决示例代码
  10. Item 13: 比起iterator优先使用const_iterator