sql >> Base de Datos >  >> NoSQL >> MongoDB

bson.D vs bson.M para consultas de búsqueda

Puede usar bson.M para el filtro, generalmente da como resultado una declaración de filtro más corta y clara, el orden de los campos no importa, el servidor MongoDB es lo suficientemente inteligente como para encontrar índices coincidentes independientemente del orden utilizado. P.ej. si tiene un índice compuesto con campos A y B , usando un bson.D lista de filtros B primero luego A no evitará que el servidor use el índice existente. Entonces, en este caso, puede usar bson.M y bson.D , no importa.

El orden sí importa cuando especifica campos de clasificación, por ejemplo. No importa si ordena por campo A luego por el campo B , puede ser un orden completamente diferente al de ordenar por B primero y luego por A . Entonces, cuando especifica un documento de clasificación que tiene varios campos, definitivamente debe usar bson.D .

El orden también puede ser importante (para usted ) cuando inserta un nuevo documento, por ejemplo. Si usa un bson.M como el documento, no se garantiza que el orden de los campos sea el mismo en todos sus documentos. Cuando usas bson.D , entonces el orden en el documento guardado coincidirá con el orden de la lista de campos en bson.D .