2015-03-31 42 views
15

Khi nào bạn nên sử dụng MongoCollection và khi DBCollection? Các câu hỏi tương tự áp dụng cho DBObject, BasicDBObject, Tài liệu. Dường như có những thứ khác nhau tương tự nhau. Ít nhất là với tôi. Tôi thấy điều này rất khó hiểu. Bất kì lời khuyên nào cũng được hoan nghênh.MongoCollection so với DBCollection java

Trả lời

23

Điều này có vẻ là một câu hỏi về trình điều khiển Java MongoDB 3.0.0.

Lời khuyên chung là sử dụng Document/MongoCollection/MongoDatabase để phát triển ứng dụng mới. Tuy nhiên,

Các lớp DBObject/DBCollection/DB vẫn nằm trong trình điều khiển 3.0.0 để nhiều ứng dụng hiện có đang sử dụng chuỗi trình điều khiển 2.x có đường dẫn nâng cấp lên trình điều khiển 3.0. Các tác giả trình điều khiển (tôi là một trong số họ) đã cố gắng làm rõ điều này bằng cách từ chối phương thức MongoClient.getDB, trả về một cá thể của lớp DB, để khuyến khích sử dụng phương thức MongoClient.getDatabase mới, trả về một cá thể của MongoDatabase.

+0

cảm ơn bạn! đây là câu trả lời tôi đang tìm kiếm. điều đó cũng có nghĩa là các phương thức như cập nhật (...) không còn khả dụng nữa? tôi đang yêu cầu điều này vì một trong những câu hỏi khác của tôi là về sự không sẵn có của tùy chọn "$ upsert". tôi vẫn nghĩ rằng tôi PHẢI là sai; vẫn phải có cách để thực hiện upsert bằng cách sử dụng 3.0. – dexter

+0

nên đã không dùng nữa các lớp DBObject/DBCollection/DB quá – Manish

+0

@dexter Upsert bây giờ có thể được thực hiện bằng cách chuyển một cá thể 'UpdateOptions' tới' MongoCollection.update() '. 'UpdateOptions' có phương thức' upsert (boolean) '. – Aquarelle

Các vấn đề liên quan