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

Сортиране на документи по стойност в последния елемент от масив, който съответства на филтъра. Mongodb

Можете да използвате $filter оператор,

  • $filter за филтриране на Evaluations масив на базата на Status
  • $max за да получите най-новия EvaluatedAt формуляр, филтриран резултат
db.collection.aggregate([
  {
    $addFields: {
      lastSent: {
        $let: {
          vars: {
            filtered: {
              $filter: {
                input: "$Evaluations",
                cond: { $eq: ["$$this.Status", "triggered"] }
              }
            }
          },
          in: { $max: "$$filtered.EvaluatedAt" }
        }
      }
    }
  },
  { $sort: { lastSent: 1 } },
  { $project: { lastSent: 0 } }
])

Playground




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да се свържа отново с MongoDB с помощта на C++ драйвер?

  2. Несъответствие във времето в mongo shell

  3. Съвети за управление на архивиране на MongoDB за разчленени клъстери

  4. Кой е най-добрият метод за зареждане на приложение Node / MongoDB?

  5. Фрагментация на данни в колекция mongo