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

Không thể cập nhật dữ liệu trong mongodb

Bản cập nhật update câu lệnh không chính xác, có đối số không đúng chỗ - bạn đang đặt nhiều $set các hoạt động và tùy chọn như các tham số khác nhau cho phương thức cập nhật; chúng phải nằm dưới các thông số cập nhật được chỉ định riêng biệt. Cú pháp đúng Node.js là:

update(selector, document, options, callback)

nơi selector là một đối tượng là bộ chọn / truy vấn cho hoạt động cập nhật, document cũng là một đối tượng là tài liệu cập nhật và cuối cùng là một options đối tượng theo mặc định là null và có cài đặt cập nhật tùy chọn.

Bạn đang làm đây

update(selector, document, selector, document, options, options, callback)

Trong đó mongo đang cập nhật bộ sưu tập bằng cách sử dụng hai tham số đầu tiên là chính xác và nó tự nhiên ném ra lỗi

vì bạn đã chỉ định quá nhiều tham số không chính xác.

Ngoài ra, bạn đã sử dụng sai toán tử vị trí. Nó phải là một phần của tài liệu cần được cập nhật, không phải trong truy vấn.

Để triển khai chính xác, hãy làm theo bản cập nhật này

db.getCollection('profiles').update(
    /* selector  */
    {
        "_id": ObjectId("57a9aa24e93864e02d91283c"),
        "ratings.round": 1
    }, 
    /* update document */
    {
        "$set": {
            "presentRound": 2,
            "interviewStatus": "in process",
            "scheduleInterviewStatus": false,
            "ratings.$.roundStatus": "selected"    
        }
    },
    /* optional settings */
    { upsert: true, multi: true }
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb $ nơi truy vấn luôn đúng với nodejs

  2. Lọc mảng tài liệu con trong khi vẫn trả về dữ liệu mẹ nếu trống

  3. cách thiết lập mogodb trong dịch vụ mới nổi có xác thực

  4. Mảng nhóm tổng hợp MongoDB thành key:sum value

  5. Làm cách nào để tìm kiếm một chuỗi trong mảng tài liệu MongoDB và chiếu giá trị mảng trong một thao tác tìm?