Bạn có thể sử dụng bson.M
đối với bộ lọc, nó thường dẫn đến khai báo bộ lọc ngắn hơn và rõ ràng hơn, thứ tự của các trường không quan trọng, máy chủ MongoDB đủ thông minh để tìm các chỉ số phù hợp bất kể thứ tự được sử dụng. Ví dụ. nếu bạn có một chỉ mục kết hợp với các trường A
và B
, sử dụng bson.D
danh sách bộ lọc B
đầu tiên rồi đến A
sẽ không ngăn máy chủ sử dụng chỉ mục hiện có. Vì vậy, trong trường hợp này, bạn có thể sử dụng bson.M
và bson.D
, không thành vấn đề.
Thứ tự thực sự quan trọng khi bạn chỉ định các trường sắp xếp chẳng hạn. Sẽ không thành vấn đề nếu bạn sắp xếp theo trường A
sau đó theo trường B
, nó có thể là một thứ tự hoàn toàn khác với sắp xếp theo B
đầu tiên và sau đó bằng A
. Vì vậy, khi bạn chỉ định một tài liệu sắp xếp có nhiều trường, bạn chắc chắn nên sử dụng bson.D
.
Thứ tự cũng có thể quan trọng (đối với bạn ) khi bạn chèn một tài liệu mới chẳng hạn. Nếu bạn sử dụng bson.M
như là tài liệu, thứ tự của các trường không được đảm bảo giống nhau trong tất cả các tài liệu của bạn. Khi bạn sử dụng bson.D
, thì thứ tự trong tài liệu đã lưu sẽ khớp với thứ tự khi bạn liệt kê các trường trong bson.D
.