Mongodb,如何插入多条记录?

使用insert_many可以插入多条记录,但是我设置了唯一索引,当插入相同的数据时,忽略了我的数据。
现在想实现的功能是一次性插入多条记录,假如记录存在就更新数据,不存在就插入,如何实现?

阅读 6k
3 个回答

暂时是没有解决方案,只能一条一条的使用update和upsert插入,不过根据了解,一条记录插入跟批量的插入相差几十到200毫秒。所以可以接受。

你其实需要是 upsert 操作,但是 upsert 不支持批量,你有两种办法达到目的:

  • 遍历所有数据,进行单条 upsert

  • 想办法把数据分成需要更新的和需要插入的,分别进行批量操作

我干过循环插入6w条的事情,耗时完全没问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题