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

_.merge sao chép tài liệu con thay vì cập nhật

Thử sử dụng _.extend hoặc _.assign thay vào đó:

var updated = _.assign(entry, req.body);

câu trả lời này bởi ShitalShah nêu bật sự khác biệt giữa hợp nhất và mở rộng đang gây ra các bản sao trong đối tượng kết quả của bạn với hợp nhất nhưng về cơ bản:

JSBin để minh họa sự khác biệt:

var dest = {
  p: { x: 10, y: 20},
};

var src = {
  p: { x: 20, z: 30},
};

console.log(_.merge(dest, src)); 
/*
[object Object] {
  p: [object Object] {
    x: 20,
    y: 20,
    z: 30
  }
}
*/

console.log(_.extend(dest, src));
/*
[object Object] {
  p: [object Object] {
    x: 20,
    z: 30
  }
}
*/



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Looping Array và kiểm tra bộ sưu tập MongoDB trong vòng lặp (Async)

  2. lấy thông tin liên quan so với giá trị đối tượng trong MongoDB

  3. Triển khai tìm kiếm toàn văn của MongoDB 2.4 trong ứng dụng Meteor

  4. Làm cách nào để ngăn chèn chức năng cập nhật vào MongoDB từ Meteor?

  5. Cơ sở dữ liệu trên 2GB trong MongoDB