仅当新值不为空时,我才会更新集合设置值。 我有这样的代码:
...
var userName = req.body.nome;
var userSurname = req.body.cognome;
var userAddress = req.body.indirizzo;
collection.update(
{_id:ObjectId(req.session.userID)},
{$set: { nome: userName, cognome: userSurname, indirizzo: userAddress }}
)
有没有简单的方法可以做到这一点?
另一种方式:
如果我可以从获取数据的表单占位符中获取值 req.body.*
,我就可以解决问题..但这可能吗?
最佳答案
你可以尝试这样的事情:
var objForUpdate = {};
if (req.body.nome) objForUpdate.nome = req.body.nome;
if (req.body.cognome) objForUpdate.cognome = req.body.cognome;
if (req.body.indirizzo) objForUpdate.indirizzo = req.body.indirizzo;
//before edit- There is no need for creating a new variable
//var setObj = { $set: objForUpdate }
objForUpdate = { $set: objForUpdate }
collection.update({_id:ObjectId(req.session.userID)}, objForUpdate )
关于javascript - MongoDB,如果新值不为空,则更新集合字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33357143/