Trong các phiên bản trước của trình điều khiển MongoDB Java, để chạy một truy vấn và làm upsert số lượng lớn có thứ tự vào kết quả tất cả chúng tôi đã làm là:Upsert Bulk với MongoDB Java 3.0 driver
BulkWriteOperation bulk = dbCollection.initializeUnorderedBulkOperation();
bulk.find(searchQuery).upsert().update(new BasicDBObject("$set", getDbObjectModel()));
Nhưng trong phiên bản 3, với sự giới thiệu của Bson Document support và phương thức MongoCollection.bulkWrite() làm thế nào điều này có thể được thực hiện?
Tôi cố gắng này:
List<WriteModel<Document>> documentList = new ArrayList<>();
collection.bulkWrite(documentList, new BulkWriteOptions().ordered(false));
nhưng, tôi cần các chức năng upsert.
Cảm ơn.
Có bất kỳ tài liệu chính thức cho những thay đổi trong trình điều khiển? – void
@AswinJoseRoy Ví dụ? Không may là tất cả các ví dụ về tài liệu (ít nhất là chính thức) dường như tuân theo các lớp học cũ hơn. Đây là cùng một câu chuyện cho hầu hết các trình điều khiển ngôn ngữ. Đối với tôi, tôi tìm thấy thêm thông tin bằng cách tìm kiếm "GitHub" cho "kiểm tra" và như vậy trong kho lưu trữ. Nhưng một lần nữa, một số "kiểm tra" sử dụng các lớp cũ "vẫn". Vì vậy, một số là thử và sai. Sẽ trở nên tốt hơn và các câu hỏi như của bạn thực sự hữu ích. –
Khi chèn dữ liệu ở lần đầu tiên, cả hai được chènCount và ModifiedCount của bulkWriteResult đều bằng không, đó có phải là lỗi không? – inza9hi