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

добавете условие към резултата от най-новите стойности

Когато дадена операция включва изключване на пълни документи, помислете за $group . Добавянето на това към вашия конвейер трябва да ви насочи в правилната посока.

(игрална площадка)

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

Ако имате само 3 полета във всеки документ, можете да добавите:

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:Няма разрешение от администратора да изпълни команда

  2. Javascript API от страна на клиента на Mongodb

  3. Как мога да изтегля поддокументи от масив?

  4. Как мога да използвам partialFilterExpression върху модел mongoose

  5. Не може да се свърже с MongoDB контейнер от друг Docker контейнер