前提・実現したいこと
表題通り
発生している問題・エラーメッセージ
1投稿に対してユーザー1人がいいねを際限なく押せる状態になっている
該当のソースコード
const postSchema = new Schema({ title:{ type:String }, body:{ type:String }, image:{ type:String }, status:{ type:String }, postUser:{ type:Schema.Types.ObjectId, ref:'User' }, date:{ type:Date, default:Date.now }, allowComments:{ type:Boolean, default:false }, comments:[{ commentUser:{ type:Schema.Types.ObjectId, ref:'User' }, commentBody:{ type:String }, date:{ type:Date, default:Date.now } }], likes:[{ likeUser:{ type:Schema.Types.ObjectId, ref:'User' }, date:{ type:Date, default:Date.now } }], icon:{ type:String }, like:{ type:Boolean, default:false } }); app.get('/likePost/:id',requireLogin,(req,res)=>{ Post.findById({_id:req.params.id}) .then((post)=>{ let like = Boolean; if(req.body.like){ post.like = true; }else{ post.like = false; } const newLike = { likeUser: req.user._id, date: new Date() } post.likes.push(newLike) post.save((err,post)=>{ if(err){ throw err; } if(post){ res.redirect(`/fullPost/${post._id}`); } }) }) })
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。