Du kan använda bson.M
för filtret resulterar det vanligtvis i kortare och tydligare filterdeklaration, ordningen på fälten spelar ingen roll, MongoDB-servern är smart nog att hitta matchande index oavsett vilken ordning som används. T.ex. om du har ett sammansatt index med fälten A
och B
, med en bson.D
filterlista B
först sedan A
kommer inte att hindra servern att använda det befintliga indexet. Så i det här fallet kan du använda bson.M
och bson.D
, det spelar ingen roll.
Ordningen spelar roll när du till exempel anger sorteringsfält. Det spelar roll om du sorterar efter fält A
sedan genom fältet B
, kan det vara en helt annan ordning än att sortera efter B
först och sedan med A
. Så när du anger ett sorteringsdokument med flera fält bör du definitivt använda bson.D
.
Ordningen kan också ha betydelse (för dig ) när du till exempel infogar ett nytt dokument. Om du använder en bson.M
som dokumentet är det inte garanterat att fältordningen är densamma i alla dina dokument. När du använder bson.D
, då kommer ordningen i det sparade dokumentet att matcha ordningen när du listar fälten i bson.D
.