有条件地查找和更新MongoDB子元素
假设我有个人有收藏夹,我想添加到他们的收藏夹列表中,但没有重复项。我用猫鼬做了以下尝试:有条件地查找和更新MongoDB子元素,mongodb,mongoose,Mongodb,Mongoose,假设我有个人有收藏夹,我想添加到他们的收藏夹列表中,但没有重复项。我用猫鼬做了以下尝试: exports.favorite = function (req, res, next) { var favoriteItem = { uid: req.params.uid, name: req.params.name, phone: req.params.phone }; Favorite.findOneAndUpdate(
exports.favorite = function (req, res, next) {
var favoriteItem = {
uid: req.params.uid,
name: req.params.name,
phone: req.params.phone
};
Favorite.findOneAndUpdate(
{ cn: req.params.uid },
{ $push: { favorites: favoriteItem }},
{ safe: true, upsert: true}, function (error) {
if (error) {
process.stderr.write(error);
}
res.send('Saved successfully.');
return next();
});
};
如何根据uid有条件地推送收藏夹?注意,我想创建记录,如果它不存在的话,请使用upsert。您是否尝试了$addToSet操作符?很抱歉,我应该使用$addToSet而不是$push。