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

Toán tử cấp cao nhất không xác định MongoError:$ set

Vấn đề là bạn đang sử dụng cú pháp sai phương pháp cập nhật . Bạn nên sử dụng phương pháp này cú pháp, giả sử rằng scores là một tài liệu.

return scores.updateQ({
    $set: { "partId": partId, "activityId": activityId},
    $unset: { topicType: '', topicId: '', courseId: ''}
},
{ strict: false });

Ngoài ra, trong Mongoose, nó sử dụng $set theo mặc định, vì vậy giá trị này phải tương đương:

return scores.updateQ({
    partId: partId,
    activityId: activityId,
    $unset: { topicType: '', topicId: '', courseId: ''}
},
{ strict: false });

CHỈNH SỬA:

Giả định của tôi là scores là một tài liệu (một phiên bản của Mô hình):

var schema = new Schema({});
var Scores = mongoose.model('Scores', schema);
var scores = new Scores({});

Cả Scores.updatescores.update tồn tại, nhưng cú pháp khác nhau, đó có thể là nguyên nhân gây ra lỗi của bạn. Đây là sự khác biệt:

// Generic update
Scores.update({ _id: id }, { prop: 'value' }, callback);

// Designed to update scores specifically
scores.update({ prop: 'value' }, callback);

LƯU Ý:

Nếu những giả định này không đúng, hãy đưa thêm ngữ cảnh vào câu trả lời của bạn, chẳng hạn như cách bạn đến đó.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tại sao tôi nhận được Không thể đặt tiêu đề sau khi chúng được gửi đến lỗi máy khách trong Nodejs?

  2. Thông báo lỗi:MongoError:Xác thực bad auth không thành công thông qua chuỗi URI

  3. Cách sử dụng MongoDB $ ne trên thuộc tính đối tượng lồng nhau

  4. Mongoose:Truyền tới ObjectId không thành công

  5. Truy vấn về ngày cho các bài đăng được tạo trong 24 giờ qua