sql >> Database teknologi >  >> NoSQL >> MongoDB

Opdater undersæt af felter med Mongoose

Du kan oprette en hjælpemetode som denne:

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

Og brug det sådan her:

  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. Mongo shell kan ikke oprette forbindelse til Azure CosmosDB

  2. Implementering og vedligeholdelse af MongoDB ved hjælp af Ansible

  3. MongoDB aggregeret gruppearray til nøgle:sumværdi

  4. Hvordan opsætter du Mongo-replikasæt på Kubernetes?