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 .