Você ainda pode usar todas as funcionalidades, só que o BulkWrites agora tem uma sintaxe diferente:
MongoCollection<Document> collection = db.getCollection("sample");
List<WriteModel<Document>> updates = Arrays.<WriteModel<Document>>asList(
new UpdateOneModel<Document>(
new Document(), // find part
new Document("$set",1), // update part
new UpdateOptions().upsert(true) // options like upsert
)
);
BulkWriteResult bulkWriteResult = collection.bulkWrite(updates);
Então você usa o
UpdateOneModel
( ou para muitos se você quiser ) e defina o UpdateOptions
como o terceiro argumento para o construtor. Leva algum tempo para se acostumar, mas é basicamente apenas construir "Listas" com a mesma sintaxe de outros lugares. Acho que esse é o principal motivo da mudança.