MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

MongoDB – Bagaimana cara mengembalikan dokumen dengan sebagai ?

Anda dapat mencapai ini dengan kerangka kerja agregasi menggunakan $group untuk mengelompokkan dokumen menurut device_id , diikuti oleh arrayToObject untuk mendapatkan nilai sebagai kunci:

kuerinya terlihat seperti ini:

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

hasil:

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

Anda dapat mencobanya di sini:mongoplayground.net/p/t9AjMA0nXCn




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Ubah kueri MongoDB menjadi sintaks Spring MongoDB

  2. (Bagaimana) dapat agregat() memecahkan indeks?

  3. Pembaruan Koleksi MongoDB:inisialisasi dokumen dengan nilai default

  4. Pengontrol node.js ekspres tidak menunggu manipulasi data dan mengembalikan data lama

  5. MongoDB $substrBytes