MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Menyortir agregasi hasil addToSet

Ya itu mungkin, tetapi pendekatannya berbeda. Saya hanya menyediakan data saya sendiri untuk ini, tetapi Anda akan mendapatkan konsepnya.

Contoh Saya:

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

Saya akan "mengutip setengah" CTO tentang ini dan menyatakan bahwa Menetapkan dianggap tidak teratur .

Ada JIRA yang sebenarnya, pernyataan grup Google yang kira-kira seperti itu. Jadi mari kita ambil dari "Elliot" dan menerima bahwa akan menjadi kasusnya.

Jadi kalau mau hasil yang rapi harus dipijat seperti itu dengan tahapan seperti ini

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

])

Dan kemudian melakukan apapun. Tapi sekarang array Anda diurutkan.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara Menginstal MongoDB 4.2 pada sistem RedHat/ CentOS 7

  2. Cara mengizinkan semua host ke set replika di mongodb

  3. Catatan acak dari MongoDB

  4. Kueri MongoDB $in dengan array elemen regex

  5. String proyek agregasi MongoDB ke ObjectId