DBobject cơ bản không còn được dùng nữa. Phần duy nhất không được dùng nữa trong BasicDBobject là DBPointer
lớp và một số phương thức khác như toString() and getId()
Triển khai tài liệu Map<String, Object>
và có ít mã hơn để viết so với đối tượng DB cơ bản
DBObject Mặc dù không được khuyến nghị cho các ứng dụng mới, những ứng dụng nâng cấp từ loạt trình điều khiển 2.x có thể tiếp tục sử dụng giao diện DBObject để đại diện cho các tài liệu BSON. DBObject tương tự như Document ở chỗ nó đại diện cho các giá trị BSON dưới dạng Đối tượng, nhưng nó có một số thiếu sót mà không thể khắc phục được:
-
nó là một giao diện chứ không phải là một lớp, vì vậy API của nó không thể được mở rộng mà không phá vỡ khả năng tương thích nhị phân.
-
Nó không thực sự triển khai Bản đồ.
-
Bởi vì nó là một giao diện, một lớp cụ thể riêng biệt được gọi là BasicDBObject triển khai giao diện đó, là bắt buộc
Bson Để gắn kết tất cả những thứ này lại với nhau, trình điều khiển chứa một giao diện nhỏ nhưng mạnh mẽ được gọi là Bson. Bất kỳ lớp nào đại diện cho tài liệu BSON, cho dù được bao gồm trong chính trình điều khiển hoặc từ bên thứ ba, đều có thể triển khai giao diện này và sau đó có thể được sử dụng ở bất kỳ vị trí nào trong API cấp cao nơi cần phải có tài liệu BSON.