Sie können bson.M
verwenden für den Filter führt dies normalerweise zu einer kürzeren und klareren Filterdeklaration, die Reihenfolge der Felder spielt keine Rolle, der MongoDB-Server ist intelligent genug, um passende Indizes unabhängig von der verwendeten Reihenfolge zu finden. Z.B. wenn Sie einen zusammengesetzten Index mit den Feldern A
haben und B
, mit einem bson.D
Filterliste B
zuerst dann A
hindert den Server nicht daran, den vorhandenen Index zu verwenden. In diesem Fall können Sie also bson.M
verwenden und bson.D
, spielt keine Rolle.
Die Reihenfolge spielt beispielsweise eine Rolle, wenn Sie Sortierfelder angeben. Es spielt keine Rolle, ob Sie nach Feld A
sortieren dann per Feld B
, kann es eine ganz andere Reihenfolge sein als die Sortierung nach B
zuerst und dann mit A
. Wenn Sie also ein Sortierdokument mit mehreren Feldern angeben, sollten Sie unbedingt bson.D
verwenden .
Die Reihenfolge kann auch wichtig sein (für Sie ) zum Beispiel beim Einfügen eines neuen Dokuments. Wenn Sie eine bson.M
wie das Dokument, ist die Reihenfolge der Felder nicht garantiert in allen Ihren Dokumenten gleich. Wenn Sie bson.D
verwenden , dann stimmt die Reihenfolge im gespeicherten Dokument mit der Reihenfolge überein, in der Sie die Felder in bson.D
auflisten .