MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

mongodb $rozwiń dla nieidealnego zagnieżdżonego dokumentu

  • $unwind zdekonstruuj tablicę rounds
  • $project aby pokazać wymagane pola
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"
    }
  }
])

Plac zabaw

Bardziej dynamiczne podejście,

  • $mergeObjects scalić wymagane pola z katalogu głównego i round_values obiekt
  • $replaceRoot zastąpić powyższy scalony obiekt rootem
db.collection.aggregate([
  { $unwind: "$rounds" },
  {
    $replaceRoot: {
      newRoot: {
        $mergeObjects: [
          {
            GameID: "$GameID",
            ComputerName: "$ComputerName"
          },
          "$rounds.round_values"
        ]
      }
    }
  }
])

Plac zabaw




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Problem z instalacją sterownika MongoDb PHP na wamp

  2. Monitorowanie i zarządzanie operacjami MongoDB 4.0 z ClusterControl

  3. Usuń duplikaty z MongoDB

  4. Jak zainstalować MongoDB w systemie Windows?

  5. Zapytanie Mongoose near(...) na indeksowanym polu 2dsphere nie zwraca poprawnych wyników