MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

bson.D vs bson.M pour les requêtes de recherche

Vous pouvez utiliser bson.M pour le filtre, cela se traduit généralement par une déclaration de filtre plus courte et plus claire, l'ordre des champs n'a pas d'importance, le serveur MongoDB est suffisamment intelligent pour trouver des index correspondants quel que soit l'ordre utilisé. Par exemple. si vous avez un index composé avec des champs A et B , en utilisant un bson.D liste de filtres B d'abord puis A n'empêchera pas le serveur d'utiliser l'index existant. Donc, dans ce cas, vous pouvez utiliser bson.M et bson.D , peu importe.

L'ordre est important lorsque vous spécifiez des champs de tri par exemple. Peu importe si vous triez par champ A puis par champ B , il peut s'agir d'un ordre complètement différent du tri par B d'abord puis par A . Ainsi, lorsque vous spécifiez un document de tri comportant plusieurs champs, vous devez absolument utiliser bson.D .

L'ordre peut aussi avoir de l'importance (pour vous ) lorsque vous insérez un nouveau document par exemple. Si vous utilisez un bson.M comme le document, l'ordre des champs n'est pas garanti d'être le même dans tous vos documents. Lorsque vous utilisez bson.D , alors l'ordre dans le document enregistré correspondra à l'ordre lorsque vous répertoriez les champs dans bson.D .