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

Cập nhật tập hợp con của các trường với Mongoose

Bạn có thể tạo một phương thức trợ giúp như sau:

const filterObj = (obj, ...allowedFields) => {
  const newObj = {};
  Object.keys(obj).forEach(el => {
    if (allowedFields.includes(el) && (typeof obj[el] === "boolean" || obj[el]))
      newObj[el] = obj[el];
  });
  return newObj;
};

Và sử dụng nó như thế này:

  let filteredBody = filterObj(req.body, "email", "firstname", "lastname");
  filteredBody.updatedAt = Date.now();

  // Update the user object in the db
  const userUpdated = await User.findByIdAndUpdate(userId, filteredBody, {
    new: true,
    runValidators: true
  });



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để cho phép dữ liệu JSON dạng tự do trong tài liệu Mongoose?

  2. Cách phát triển ứng dụng cho MongoDB và Redpanda bằng Docker Compose

  3. các giá trị nhóm mongodb theo nhiều trường

  4. MongoDB cực kỳ chậm so với MySQL với 10 triệu bản ghi

  5. Sử dụng $ slice với $ regex cùng nhau trên mảng subDocument trong mongodb