我正在完成使用此代码的POST:
exports.addContactPost = function(req, res, err) {
User.findByIdAndUpdate(req.signedCookies.userid, {
$push: {friendRequest: req.body.friendRequest}
}, function(err) {
if(err) {
console.log(err);
return console.log('error');
} else {
console.log('postsuccess');
res.json({response: true});
}
});
};
如何获取$ push:代码行并声明如果id已经存在于不推送的friendRequest数组中。我试图使用$ exists:但我无法让它工作。
答案 0 :(得分:11)
使用$addToSet运算符。如果不在数组中,它确保将添加该值。
基本上:
exports.addContactPost = function(req, res, err) {
User.findByIdAndUpdate(req.signedCookies.userid, {
$addToSet: {friendRequest: req.body.friendRequest}
}, function(err) {
if(err) {
console.log(err);
return console.log('error');
} else {
console.log('postsuccess');
res.json({response: true});
}
});
};