MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

bson.D vs bson.M per le query di ricerca

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 .