sql >> Databáze >  >> NoSQL >> MongoDB

Jak se udržuje pořadí vlastností pro řazení v mongodb?

To je zajímavá otázka.

Funguje to jako většina implementací ECMAScript ve skutečnosti dělá zachovat pořadí klíčů (např. V8, který používá Node). Nicméně oficiální ovladač Node MongoDB nenabádá k jeho použití, místo toho nabízí dva různé zápisy:

Dokumentace Mongoose nezmiňuje nic o pořadí klíčů (alespoň ne o tom, co vím). Nabízí ale také dva různé přístupy k řazení :

Opravdu se zdá, že funkce řazení Mongoose byla založena na nesprávném (ale aktuálně platném) předpokladu. Při řazení pomocí více klíčů je pravděpodobně nejlepší použít řetězcový zápis. Řazení pomocí objektového zápisu funguje správně při přímém použití MongoDB (např. v prostředí MongoDB), protože nepoužívá čistý JSON, ale rozšířený JSON .

Podívejte se také na tuto velmi související otázku:Jak můžete určit pořadí vlastností v objektu javascript pro index MongoDB v node.js?

Existuje také problém Mongoose o tomto:

Takže když používáte Mongoose, použijte buď zápis řetězce, nebo nově přidanou podporu pro Mapy ES2015 u kterých je zaručeno, že budou objednány objednávkou vložení.



  1. Ukládání datového toku z požadavku POST v GridFS, express, mongoDB, node.js

  2. WiredTiger a aktualizace na místě

  3. Aktualizace MongoDB MapReduce na místě, jak na to

  4. Předaný argument musí být řetězec 24 hexadecimálních znaků - myslím, že je