MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Sortowanie wyników zapytania na podstawie wartości opisu zagnieżdżonego poddokumentu w tablicy Mongoose/Mongodb

Nie możemy sortować tablicy bezpośrednio, ale agregacja pomaga

  • $unwind pomaga zdestrukturyzować tablicę
  • $sort pomaga sortować tak, jak chcesz
  • $group pomaga przegrupować zdestrukturyzowaną tablicę

Skrypt Mongo jest podany poniżej

db.collection.aggregate([
  {
    "$match": {
      "serviceAreas.slug": "nashville"
    }
  },
  {
    $unwind: "$serviceAreas"
  },
  {
    $sort: {
      "serviceAreas.totalClosedSales": -1
    }
  },
  {
    $addFields: {
      total: "$serviceAreas.totalClosedSales"
    }
  },
  {
    $sort: {
      total: -1
    }
  },
  {
    $group: {
      _id: "$_id",
      mlsId: {
        $first: "$mlsId"
      },
      firstName: {
        $first: "$firstName"
      },
      lastName: {
        $first: "$lastName"
      },
      slug: {
        $first: "$slug"
      },
      serviceAreas: {
        $push: "$serviceAreas"
      }
    }
  }
])

Praca Plac zabaw Mongo




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Definiowanie schematu Mongodb

  2. Kaa Java SDK nie synchronizuje się z KAA Sandbox MongoDB na AWS

  3. Wyszukiwanie MongoDB według typu DateTime nie działa

  4. Migracja z MongoDB do aplikacji Groovy PostgreSQL

  5. Jak napisać pustą tablicę asocjacyjną ({}) do MongoDB z PHP