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

Meteor mongo cập nhật mảng lồng nhau

Vì vậy, điều đầu tiên cần nói ở đây là $elemMatch không bắt buộc trong trường hợp của bạn vì bạn chỉ muốn so khớp trên một thuộc tính mảng duy nhất. Bạn sử dụng toán tử đó khi bạn cần các thuộc tính "hai hoặc nhiều hơn" từ cùng một phần tử mảng để phù hợp với các điều kiện của bạn. Nếu không, bạn chỉ cần sử dụng "ký hiệu dấu chấm" làm tiêu chuẩn.

Trường hợp thứ hai ở đây là với $push , trong đó toán tử cụ thể đó có nghĩa là "thêm" các phần tử vào mảng. Trong trường hợp của bạn, bạn chỉ muốn "cập nhật" nên toán tử chính xác ở đây là $set :

Activity.update(
    { "_id": activityId, "usersActivities.userId": Meteor.userId() },
    {
        "$set": {
            'usersActivities.$.startDate': start,
            'usersActivities.$.endDate': end
        }
    }
)

Vì vậy, $ vị trí ở đây là toán tử khớp với "chỉ mục tìm thấy" từ phần tử mảng và cho phép $set toán tử để "thay đổi" các phần tử được khớp tại "vị trí" đó.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Không kết nối được Mongoose với Atlas

  2. Mongodb tổng hợp (đếm) trên nhiều trường đồng thời

  3. Có cách nào để in đầu ra shell MongoDB 'đẹp' ra một tệp không?

  4. Trong Flask, chuyển đổi đối tượng POST của biểu mẫu thành một đại diện phù hợp với mongodb

  5. MongoDB:Tìm phần tử tối thiểu trong mảng và xóa nó