MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Актуализирайте подмножество от полета с Mongoose

Можете да създадете помощен метод като този:

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;
};

И го използвайте така:

  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. AttributeError:обектът „кортеж“ няма атрибут „вмъкване“

  2. MongoDB регистрира всички заявки

  3. Сума на агрегиране в Spring Data MongoDB

  4. MongoError:Неизвестен модификатор:$pushAll във възел js

  5. Как да извлека всички обекти в колекция Mongodb, включително идентификаторите?