Как получить кнопку «Мне нравится», работающую в моем приложении expressJS? - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь заставить кнопку «Мне нравится» работать на моем сайте, вот код. [Введите описание изображения здесь] [1]

router.put('/campgrounds/:id/likes',isLoggedIn,function(req,res){
Campground.findById(req.params.id).populate('likes').exec(function(err,foundCampground){
    if(err){
        console.log(err);
        res.redirect('back');
    }else{
        foundCampground.likes.author.id=req.user.id;
        foundCampground.likes.username=req.user.username;
        foundCampground.likes.push(req.user.username);
        foundCampground.save();
        res.redirect('/campgrounds/' + foundCampground.id);


    }
});

});

var mongoose=require("mongoose");

var likeSchema=mongoose.Schema({
    author:{
        id:{
            type:mongoose.Schema.Types.ObjectId,
            ref:'User'
        },
        username:String
    }
});

module.exports=mongoose.model('Like',likeSchema);

var campgroundSchema=new mongoose.Schema({
name:String,
image:String,
imageId:String,
description: String,
createdAt:{type:Date,default:Date.now()},
author:{
    id:{
        type:mongoose.Schema.Types.ObjectId,
        ref: 'User'
    },
    username:String
},
comments: [{
    type:mongoose.Schema.Types.ObjectId,
    ref:'Comment'
}],
likes: [{
    type:mongoose.Schema.Types.ObjectId,
    ref:'Likes'
}]

});

module.exports = mongoose.model ('Campground', campgroundSchema);

Я застрял здесь, пожалуйста, помогите, так как мне действительно нужно, чтобы это работало.я не могу понять проблему здесь.

1 Ответ

0 голосов
/ 23 октября 2018

Вы пытаетесь создать или обновить (в отношении операций CRUD) ?.Кажется, вы пытаетесь создать и, следовательно, должны использовать «пост», а не «положить».Попробуйте использовать «router.post» вместо «router.put».

router.post('/campgrounds/:id/likes',isLoggedIn,function(req,res){
Campground.findById(req.params.id).populate('likes').exec(function(err,foundCampground){
    if(err){
        console.log(err);
        res.redirect('back');
    }else{
        foundCampground.likes.author.id=req.user.id;
        foundCampground.likes.username=req.user.username;
        foundCampground.likes.push(req.user.username);
        foundCampground.save();
        res.redirect('/campgrounds/' + foundCampground.id);

       }

    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...