我已经有了另一个解决方案,但不明白为什么我的不起作用。
我尝试在这里使用 $set: 但它没有帮助。当我打印时,objForUpdate 确实返回“姓名,姓氏”。如果我用 {name, lastname} 替换 {objForUpdate} - 更新有效。但我不能在变量中传递参数。
//Route to UPDATE user
async updateUser(req, res) {
let { _id, type, name, lastname } = req.body;
try {
let objForUpdate = "";
for (var key in req.body) {
if (req.body.hasOwnProperty(key) && req.body.key !== null && req.body[key] !== "" && key !== '_id') {
console.log("this is key: " + key + ", and this is value req.body[key]: " + req.body[key]);
objForUpdate += key + ", ";
}
}
objForUpdate = objForUpdate.slice(0, -2);
const updated = await Users.updateOne({ _id }, {objForUpdate});
res.send({ updated });
} catch (error) {
res.send({ error });
}
}
ITMISS
相关分类