sql >> データベース >  >> NoSQL >> MongoDB

理想的でないネストされたドキュメントのmongodb$unwind

    • $unwind ラウンド配列を分解します
    • $project 必須フィールドを表示するには
    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"
        }
      }
    ])
    

    遊び場

    より動的なアプローチ

    • $mergeObjects ルートとround_valuesから必須フィールドをマージします オブジェクト
    • $replaceRoot 上記のマージされたオブジェクトをルートに置き換える
    db.collection.aggregate([
      { $unwind: "$rounds" },
      {
        $replaceRoot: {
          newRoot: {
            $mergeObjects: [
              {
                GameID: "$GameID",
                ComputerName: "$ComputerName"
              },
              "$rounds.round_values"
            ]
          }
        }
      }
    ])
    

    遊び場




    1. デフォルトのMongoDBインデックスを削除できますか?

    2. RedisのLuacjsonでnil/nullを確認するにはどうすればよいですか?

    3. Laravelフレームワークのmongodbでaggregateを実行する方法

    4. MongoDB-レコードの挿入中に引用符をエスケープする