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

MongoDB – Как да върна документи с като ?

Можете да постигнете това с рамката за агрегиране, като използвате $group за групиране на документи по device_id , последвано от arrayToObject за да получите стойност като ключ:

заявката изглежда така:

db.collection.aggregate([{
  "$group": {
    "_id": "$device_id",
    "dt": {
      "$push": "$date"
    }
  }
}, {
  "$replaceRoot": {
    "newRoot": {
      "$arrayToObject": {
        "$concatArrays": [
          [{
            "k": "$_id",
            "v": "$dt"
          }]
        ]
      }
    }
  }
}])

резултати:

[
  {
    "D4YK2-R2D20-KYPI9": [
      "2018-04-01T00:00:00.000Z"
    ]
  },
  {
    "ML39A-341D4-UI041": [
      "2018-03-28T00:00:00.000Z",
      "2018-03-29T00:00:00.000Z"
    ]
  }
]

можете да опитате тук:mongoplayground.net/p/t9AjMA0nXCn




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да десериализирате обект на BsonDocument обратно в клас

  2. Частични индекси в mongodb / mongoose

  3. Какъв е препоръчителният подход към бази данни с множество наематели в MongoDB?

  4. Как да обработваме заявки за вмъкване в Spring Data, преди да ги добавим към MongoDB?

  5. Схема и поддокументи в mongoose.js