此文只是為了記錄幾個基本操作,首先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))