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

Đẩy phần tử vào mảng lồng nhau mongoose nodejs

Trong truy vấn của mình, bạn đang sử dụng toán tử vị trí ($ sign) để bản địa hóa một video cụ thể bằng _id và sau đó bạn muốn đẩy một mục lên báo cáo.

Vấn đề là MongoDB không biết bạn đang cố cập nhật video nào vì đường dẫn bạn đã chỉ định ( season.episodes.videos. $. Báo cáo ) chứa hai mảng khác (phần và tập).

Như tài liệu nói rằng bạn không thể sử dụng toán tử này nhiều lần

Hạn chế này làm phức tạp thêm tình hình của bạn. Bạn vẫn có thể cập nhật báo cáo của mình nhưng bạn cần biết chỉ mục chính xác của các mảng bên ngoài. Vì vậy, bản cập nhật sau đây sẽ là ví dụ hoạt động:

db.movies.update({'seasons.episodes.videos._id': data._id}, {$push: {'seasons.0.episodes.0.videos.$.reports': data.details}})

Ngoài ra, bạn có thể cập nhật phần lớn hơn của tài liệu này trong node.js hoặc xem xét lại thiết kế giản đồ của mình, lưu ý các hạn chế về công nghệ.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để cập nhật một tài liệu tại mảng lồng nhau

  2. Làm cách nào để lấy bản in ra để gỡ lỗi bản đồ / thu nhỏ trong Mongoid?

  3. Thực thi ánh xạ kiểu với mgo

  4. Cách tối ưu hóa Truy vấn trong MongoDB bằng cách sử dụng $ in so với $ hoặc

  5. tìm không phân biệt chữ hoa chữ thường trong mongodb cho tên người dùng trong php