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

¿Cómo se mantiene el orden de las propiedades para ordenar en mongodb?

Esta es una pregunta interesante.

Funciona como la mayoría de las implementaciones de ECMAScript realmente lo hacen conservar el orden de las claves (por ejemplo, V8 que utiliza Node). Sin embargo, el controlador Node MongoDB oficial no fomenta su uso, sino que ofrece dos notaciones diferentes:

La documentación de Mongoose no menciona nada sobre el orden de las claves (al menos no que yo sepa). Pero también ofrece dos enfoques diferentes para ordenar :

De hecho, parece que la funcionalidad de clasificación de Mongoose se basó en una suposición incorrecta (pero actualmente válida). Probablemente sea mejor si usa la notación de cadena cuando ordena con varias claves. Ordenar con la notación de objeto funciona correctamente cuando usa MongoDB directamente (por ejemplo, en el shell de MongoDB) ya que no usa JSON puro pero JSON extendido .

Consulte también esta pregunta muy relacionada:¿Cómo puede especificar el orden de las propiedades en un objeto javascript para un índice MongoDB en node.js?

También hay un problema de mangosta sobre esto:

Entonces, cuando use Mongoose, use la notación de cadena o el soporte recientemente agregado para Mapas ES2015 que están garantizados para ser ordenados por orden de inserción.