Puoi usare bson.M
per il filtro, di solito si traduce in una dichiarazione del filtro più breve e più chiara, l'ordine dei campi non ha importanza, il server MongoDB è abbastanza intelligente da trovare indici corrispondenti indipendentemente dall'ordine utilizzato. Per esempio. se hai un indice composto con campi A
e B
, utilizzando un bson.D
elenco dei filtri B
prima poi A
non impedirà al server di utilizzare l'indice esistente. Quindi in questo caso puoi usare bson.M
e bson.D
, non importa.
L'ordine è importante, ad esempio, quando si specificano i campi di ordinamento. Non importa se ordini per campo A
quindi dal campo B
, potrebbe essere un ordine completamente diverso rispetto all'ordinamento per B
prima e poi con A
. Quindi, quando specifichi un documento di ordinamento con più campi, dovresti assolutamente usare bson.D
.
L'ordine può anche essere importante (per te ) quando si inserisce un nuovo documento, ad esempio. Se utilizzi un bson.M
come il documento, non è garantito che l'ordine dei campi sia lo stesso in tutti i tuoi documenti. Quando usi bson.D
, quindi l'ordine nel documento salvato corrisponderà all'ordine mentre elenchi i campi in bson.D
.