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

Řazení výsledků dotazu na základě hodnoty desc vnořeného vnořeného dokumentu v poli Mongoose/Mongodb

Nemůžeme třídit pole přímo, ale pomáhá tomu agregace

  • $unwind pomáhá destrukturovat pole
  • $sort pomáhá třídit, jak si přejete
  • $group pomáhá přeskupit destrukturované pole

Mongo skript je uveden níže

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

Pracovní Hřiště Mongo




  1. Najděte a odstraňte všechny dokumenty, jejichž datum vytvoření je o měsíc starší

  2. vytváření logiky uvnitř Spring Batch pomocí Tasklet nebo uvnitř CompositeItemWriter?

  3. Odstranění dat MongoDB - získat zpět místo na disku

  4. Mongo DB najít podle názvu pole s libovolnou hodnotou