sql >> Database >  >> NoSQL >> MongoDB

Sorteeraggregatie addToSet resultaat

Ja dat kan, maar pak het anders aan. Ik geef hiervoor alleen mijn eigen gegevens, maar u begrijpt het concept.

Mijn voorbeeld:

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

Ik ga de CTO hierover "half citeren" en stellen dat Sets worden beschouwd als ongeordend .

Er is een echte JIRA, Google Groups-verklaring die ongeveer zo gaat. Dus laten we het van "Elliot" nemen en accepteren dat dit zal het geval zijn.

Dus als je een geordend resultaat wilt, moet je op die manier masseren met stadia zoals deze

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" }}}

])

En doe dan maar wat. Maar nu is je array gesorteerd.




  1. Verschil tussen count() en find().count() in MongoDB

  2. Azure VM maakt geen verbinding met Azure Redis Cache, maar lokaal maakt verbinding met Azure Redis Cache

  3. Totale grootte van documenten in overeenkomende pijplijn overschrijdt de maximale documentgrootte

  4. In Santander's Near Real-Time Data Ingest Architecture (deel 2)