MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Сортиране на агрегиране addToSet резултат

Да, възможно е, но подходете по различен начин. Просто предоставям мои собствени данни за това, но вие ще разберете концепцията.

Моята проба:

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

Ще "цитирам" техническия директор за това и ще заявя, че Набори се считат за неподредени .

Има действително изявление на JIRA, Google групи, което е нещо подобно. Така че нека го вземем от "Елиът" и приемем, че товаще да бъде така.

Така че, ако искате подреден резултат, трябва да масажирате по този начин с етапи като този

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

])

И тогава направете каквото и да е. Но сега вашият масив е сортиран.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Spring Data MongoDB – индекси, анотации и конвертори

  2. Библиотеката с обещания по подразбиране на Mongoose е отхвърлена в MEAN стека

  3. Най-добри практики за архивиране на бази данни

  4. Как да управлявате ефективно големи бази данни

  5. Бройте полета в колекция MongoDB