sql >> Databáze >  >> NoSQL >> MongoDB

Aktualizujte podmnožinu polí pomocí Mongoose

Pomocnou metodu můžete vytvořit takto:

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

A použijte to takto:

  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. Najděte všechny dokumenty, které sdílejí max(hodnotu) nalezené v agregovaném kroku

  2. Redis – co, proč a jak používat Redis jako primární databázi

  3. Platnost fronty Redis s nárokem vyprší

  4. Jak spustím dotaz vysvětlení s ovladačem 2.4 C# Mongo?