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

mongodb $unwind untuk dokumen bersarang yang tidak ideal

  • $unwind mendekonstruksi array putaran
  • $project untuk menampilkan bidang yang wajib diisi
db.collection.aggregate([
  { $unwind: "$rounds" },
  {
    $project: {
      GameID: 1,
      ComputerName: 1,
      max_player_pot: "$rounds.round_values.max_player_pot",
      pot_multiple: "$rounds.round_values.pot_multiple"
    }
  }
])

Taman bermain

Pendekatan yang lebih dinamis,

  • $mergeObjects untuk menggabungkan bidang yang diperlukan dari root dan round_values objek
  • $replaceRoot untuk mengganti objek gabungan di atas menjadi root
db.collection.aggregate([
  { $unwind: "$rounds" },
  {
    $replaceRoot: {
      newRoot: {
        $mergeObjects: [
          {
            GameID: "$GameID",
            ComputerName: "$ComputerName"
          },
          "$rounds.round_values"
        ]
      }
    }
  }
])

Taman bermain




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Konsistensi baca-Anda-tulis-tulis di Mongodb

  2. Mongo mengurutkan berdasarkan bidang dinamis

  3. Tidak Tersedia Tampilan Implisit

  4. Apa yang lebih cepat:`find().limit(1)` atau `findOne()` di MongoDB/Mongoose?

  5. Mongodb memperbarui sejumlah dokumen