To interesujące pytanie.
Działa tak, jak większość implementacji ECMAScript robi zachowaj kolejność kluczy (np. V8, z której korzysta Node). Jednak oficjalny sterownik węzła MongoDB nie zachęca do jego używania, zamiast tego oferuje dwie różne notacje:
Dokumentacja Mongoose nie wspomina nic o kolejności kluczy (przynajmniej o tym nie wiem). Ale oferuje również dwa różne podejścia do sortowania :
Rzeczywiście wydaje się, że funkcjonalność sortowania Mongoose została oparta na błędnym (ale obecnie słusznym) założeniu. Prawdopodobnie najlepiej jest używać notacji łańcuchowej podczas sortowania z wieloma kluczami. Sortowanie za pomocą notacji obiektowej działa poprawnie podczas bezpośredniego korzystania z MongoDB (np. w powłoce MongoDB), ponieważ nie używa czystego JSON, ale rozszerzony JSON .
Zobacz także to bardzo powiązane pytanie:Jak określić kolejność właściwości w obiekcie javascript dla indeksu MongoDB w node.js?
Istnieje również Problem z Mongoose o tym:
Dlatego korzystając z Mongoose, użyj notacji ciągów lub nowo dodanej obsługi Mapy ES2015 które na pewno zostaną zamówione przez zamówienie reklamowe.