Você pode usar
bson.M
para o filtro, geralmente resulta em uma declaração de filtro mais curta e clara, a ordem dos campos não importa, o servidor MongoDB é inteligente o suficiente para encontrar índices correspondentes, independentemente da ordem usada. Por exemplo. se você tiver um índice composto com campos A
e B
, usando um bson.D
lista de filtros B
primeiro depois A
não impedirá que o servidor use o índice existente. Então neste caso você pode usar bson.M
e bson.D
, não importa. A ordem importa quando você especifica campos de classificação, por exemplo. Não importa se você classificar por campo
A
depois pelo campo B
, pode ser uma ordem completamente diferente da classificação por B
primeiro e depois por A
. Então, quando você especifica um documento de classificação com vários campos, você deve definitivamente usar bson.D
. O pedido também pode ser importante (para você ) quando você insere um novo documento, por exemplo. Se você usa um
bson.M
como o documento, não é garantido que a ordem dos campos seja a mesma em todos os seus documentos. Quando você usa bson.D
, a ordem no documento salvo corresponderá à ordem conforme você lista os campos em bson.D
.