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

Có thể xác định khóa khi chèn vào mongodb không

$ push được sử dụng để nối một giá trị vào một mảng. Trong ví dụ của bạn, measurements là một mảng và Mongo đang thêm $newData như phần tử đầu tiên của nó. Điều này giải thích 0 chỉ mục giữa measurements và cấp levels . Trong kết quả mong muốn của bạn, measurements là một đối tượng tương đương với $newData (tức là nó có levels thuộc tính, đến lượt nó có một mảng các đối tượng bên trong).

Một trong các ví dụ sau sẽ đạt được những gì bạn muốn:

// if $newData is {"levels": [{"level_qty":12,"level_uom":"ft"}]}
->set("measurements", $newData)

// if $newData is [{"level_qty":12,"level_uom":"ft"}]
->set("measurements.levels", $newData)

// if $newData is {"level_qty":12,"level_uom":"ft"}
->push("measurements.levels", $newData)

Lưu ý:$push sẽ linh hoạt hơn nếu bạn muốn nối dữ liệu với các bản cập nhật trong tương lai, trong khi $set sẽ tự nhiên ghi đè trường đã cho.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nhận tài liệu cập nhật trong MongoDB

  2. Kết hợp Spring-Data cho MongoDB và ElasticSearch

  3. Mongodb shell mongo:Chỉ cho phép một cách sử dụng mỗi địa chỉ socket (giao thức / địa chỉ mạng / cổng). cho ổ cắm:0.0.0.0:27017

  4. Đọc BSON (mongoDB) vào POJO bằng GSON và TypeAdapter

  5. Cách tìm tài liệu bằng mục nhúng trong MongoDB PHP