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

Výsledek řazení agregace addToSet

Ano, je to možné, ale přistupujte k tomu jinak. Poskytuji k tomu svá vlastní data, ale koncept pochopíte.

Můj vzorek:

{ "array" : [  2,  4,  3,  5,  2,  6,  8,  1,  2,  1,  3,  5,  9,  5 ] }

Budu na to "polotovat" CTO a prohlásit, že Sady jsou považovány za neuspořádané .

Existuje skutečné prohlášení JIRA, skupiny Google, které zní podobně. Vezměme to tedy od „Elliota“ a smiřme se s tím, že toto bude buďte tak.

Takže pokud chcete uspořádaný výsledek, musíte masírovat tímto způsobem pomocí fází, jako je tato

db.collection.aggregate([

    // Initial unwind
    {"$unwind": "$array"},

    // Do your $addToSet part
    {"$group": {"_id": null, "array": {"$addToSet": "$array" }}},

    // Unwind it again
    {"$unwind": "$array"},

    // Sort how you want to
    {"$sort": { "array": 1} },

    // Use $push for a regular array
    {"$group": { "_id": null, "array": {"$push": "$array" }}}

])

A pak udělej cokoliv. Ale teď je vaše pole seřazeno.




  1. Importujte dokumenty do MongoDB z pole dokumentů JSON

  2. Java, MongoDB:Jak aktualizovat každý objekt při iteraci obrovské sbírky?

  3. Zobrazuje se chyba připojení při použití redis-trib.rb k vytvoření clusteru?

  4. MongoDB odlišný()