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

Mongoose + lodash mở rộng sao chép mảng đối tượng không chính xác

Tôi vừa lãng phí 1 giờ cho vấn đề tương tự. Tôi đã sử dụng _.assign{In}() , rồi đến _.merge() sau đó cũng thử Document#set() tôi luôn kết thúc với các mục nhập lặp lại trong mảng.

Cách giải quyết phù hợp với tôi

  • gán [] vào bất kỳ mảng nào sắp được thiết lập
  • sau đó chỉ định toàn bộ cây bằng cách sử dụng doc.set(attrs)

Ví dụ (trong trường hợp của tôi, some_problematic_array gây ra hành vi kỳ lạ tương tự như được đề cập):

var attrs = _.pick(req.body, [
    'name',
    'tags', // ...
    "some_problematic_array"
]);
var doc = ///... ;

if( attrs.some_problematic_array ) doc.some_problematic_array = [];
                                      ^^^^ ***workaround***
doc.set(attrs);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. cách tạo chỉ mục từ mongoose trong tìm kiếm đàn hồi trong nút, expressjs

  2. DB với hiệu suất chèn / giây tốt nhất?

  3. Làm thế nào để xóa tầng bằng Mongoose loại bỏ phần mềm trung gian?

  4. Gặp lỗi trong vấn đề truyền mongodb cho id đối tượng hợp lệ

  5. Truyền đối tượng đơn giản sang tài liệu mongoose