MongoDB-Java的两个基本操作Upsert和insertMany

Posted 月影舞华

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB-Java的两个基本操作Upsert和insertMany相关的知识,希望对你有一定的参考价值。

  此文只是为了记录几个基本操作,首先Upsert,有多种方法可以进行,但是都需要指定UpdateOptions.upsert(true),其中最简单的办法如下(eqq是一个用来filter的BSON,具体用法请查看之前文章):  

dbColl.replaceOne(eqq("_id", y.get("_id")), y, new UpdateOptions().upsert(true))

  其次是InsertMany,在InsertMany中,如果出现dup-key会导致报错,整个list都没有插入成功,但是我想大部分人都需要的是即使出现了一个重复的key那么其他没出现问题的也插入成功,只有这个重复的不插入,那么就需要用到如下命令,添加一个InsertManyOptions().ordered(false)就可以了:

dbColl.insertMany(resList, new InsertManyOptions().ordered(false))

  

以上是关于MongoDB-Java的两个基本操作Upsert和insertMany的主要内容,如果未能解决你的问题,请参考以下文章

《MongoDB入门教程》第20篇 文档更新之UPSERT

《MongoDB入门教程》第20篇 文档更新之UPSERT

mysql实现upsert

SQLite 插入 - 重复键更新 (UPSERT)

在Salesforce中Upsert批量与批量Upsert

使用 python 对 postgres 执行 upsert 操作,如 pandas to_sql 函数