MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

mongodb $ unwind cho tài liệu lồng nhau không lý tưởng

  • $unwind giải cấu trúc mảng vòng
  • $project để hiển thị các trường bắt buộc
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"
    }
  }
])

Sân chơi

Một cách tiếp cận năng động hơn,

  • $mergeObjects để hợp nhất các trường bắt buộc từ thư mục gốc và round_values đối tượng
  • $replaceRoot để thay thế đối tượng đã hợp nhất ở trên thành root
db.collection.aggregate([
  { $unwind: "$rounds" },
  {
    $replaceRoot: {
      newRoot: {
        $mergeObjects: [
          {
            GameID: "$GameID",
            ComputerName: "$ComputerName"
          },
          "$rounds.round_values"
        ]
      }
    }
  }
])

Sân chơi




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách tạo Chỉ mục TTL trên dấu thời gian dài trong MongoDB

  2. Tổng hợp MongoDB Mỗi khóa trên một tài liệu con

  3. Làm cách nào để thêm người dùng quản trị vào Mongo trong phiên bản 2.6?

  4. Truy vấn dòng lệnh trong Java

  5. MongoDB Cập nhật một mảng lồng nhau