sql >> Database >  >> NoSQL >> MongoDB

voorwaarde toevoegen aan meest recente waarden resultaat

Als een bewerking het in- en uitschakelen van volledige documenten omvat, denk dan aan $group . Als u dit aan uw pijplijn toevoegt, zou dit u in de goede richting moeten wijzen.

(speeltuin)

db.collection.aggregate([
  {
    "$group": {
      _id: "cars",
      "cars": {
        "$push": {
          "$cond": [
            {
              "$ne": [
                {
                  "$arrayElemAt": [
                    "$mostRecentValues",
                    0
                  ]
                },
                {
                  "$arrayElemAt": [
                    "$mostRecentValues",
                    1
                  ]
                }
              ]
            },
            "$$ROOT",
            "$$REMOVE"
          ]
        }
      }
    }
  },
  {
    $unwind: "$cars"
  }
])

Als u slechts 3 velden in elk document heeft, kunt u het volgende toevoegen:

  {
    $project: {
      car_id: "$cars.car_id",
      mostRecentTime: "$cars.mostRecentTime",
      mostRecentValues: "$cars.MostRecentValues"
    }
  }



  1. Wat is de juiste aanpak om veel records in MongoDB bij te werken met Mongoose

  2. Hoe kan ik in MongoDB documenten sorteren op basis van een eigenschap in een ingesloten object?

  3. Is het mogelijk om een ​​berekend veld van een MongoDB-query te retourneren?

  4. Waarom vertelt express me dat mijn standaardweergave-engine niet is gedefinieerd?