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

Cập nhật tài liệu lồng nhau Mongoose không thành công?

Bạn không sử dụng đúng tên trường trong B.update của mình cuộc gọi. Thay vào đó nó phải là cái này:

B.update(
    { 'PDFs._id': pdf_id },           // <== here
    { $set: {
        'PDFs.$.title': 'new title'   // <== and here
    }}, function (err, numAffected) {
        if(err) throw err;
        assert.equal(numAffected,1);
    }
);

Bạn cũng nên sửa reset của mình chức năng không gọi lại cuộc gọi của nó cho đến khi save hoàn thành:

function reset(cb) {
  B.find().remove();
  // create some data with a nested document A
  var newA = new A( { title : "my title" })
  var newB = new B( { PDFs: newA});
  newB.save(cb);  // <== call cb when the document is saved
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Phương thức MongoDB Date ()

  2. Thứ tự của các chỉ mục kết hợp quan trọng như thế nào trong hiệu suất MongoDB?

  3. rmongodb:sử dụng $ hoặc trong truy vấn

  4. Tùy chọn cấu hình thời gian chạy ClusterControl

  5. Cách xóa bộ sưu tập Mongodb bằng cách sử dụng tên bộ sưu tập trong c #