Můžete použít bson.M
pro filtr to obvykle vede ke kratší a jasnější deklaraci filtru, na pořadí polí nezáleží, server MongoDB je dostatečně chytrý, aby našel odpovídající indexy bez ohledu na použité pořadí. Např. pokud máte složený index s poli A
a B
pomocí bson.D
výpis filtru B
nejprve A
nezabrání serveru používat existující index. Takže v tomto případě můžete použít bson.M
a bson.D
, na tom nezáleží.
Na pořadí záleží, když například zadáte třídicí pole. Záleží na tom, jestli třídíte podle pole A
poté pomocí pole B
, může to být úplně jiné pořadí než řazení podle B
nejprve a poté pomocí A
. Takže když zadáte třídicí dokument s více poli, měli byste určitě použít bson.D
.
Na pořadí může také záležet (pro vás ), když například vložíte nový dokument. Pokud používáte bson.M
jako u dokumentu není zaručeno, že pořadí polí bude ve všech vašich dokumentech stejné. Když používáte bson.D
, pak bude pořadí v uloženém dokumentu odpovídat pořadí, jak uvádíte pole v bson.D
.