MongoDBでリストの中に存在しないなら追加するみたいなことがしたい
「ユーザーがイイねした投稿を管理したい」みたいな時にMongoDBで直接どうするか?
express.jsでpostで受けて、以下のようにするとOK
likePostsにreq.body.postidが無ければ($ne), 追加する($push)
app.post('/api/likes/:id', (req, res) => {
let conditions = {
_id: req.params.id,
likePosts: { $ne: req.body.postid }
};
let update = {
$push: { likePosts: req.body.postid }
};
User.findOneAndUpdate(conditions, update, function(err, doc) {
if (err) {
console.log(err);
} else {
console.log(doc);
}
});
コメント