В более ранних версиях драйверов MongoDB Java, чтобы выполнить запрос и сделать неупорядоченный насыпной upsert на результат все мы должны были сделать, это:Bulk Upsert с MongoDB Java 3.0 Driver
BulkWriteOperation bulk = dbCollection.initializeUnorderedBulkOperation();
bulk.find(searchQuery).upsert().update(new BasicDBObject("$set", getDbObjectModel()));
Но в версии 3, с введение поддержки Bson Document и метод MongoCollection.bulkWrite() как это можно сделать?
Я попытался это:
List<WriteModel<Document>> documentList = new ArrayList<>();
collection.bulkWrite(documentList, new BulkWriteOptions().ordered(false));
, но мне нужна функциональность upsert.
Спасибо.
Есть ли официальная документация для этих изменений в драйвере? – void
Примеры @AswinJoseRoy? Нет. К сожалению, все примеры документации (по крайней мере, официальные), похоже, следуют старшим классам. Это одна и та же история для большинства языковых драйверов. Для меня я нашел дополнительную информацию, выполнив поиск «GitHub» для «тестов» и т. Д. В репозитории. Но опять же, некоторые «тесты» используют старые классы «все еще». Так что некоторые из них являются проб и ошибок. Будет лучше, и вопросы, подобные вашим, действительно помогут. –
При вставке данных в первый раз, как insertCount, так и ModifiedCount of bulkWriteResult равны нулю, это ошибка? – inza9hi