Вы должны / post к определенному идентификатору фильма, в который вы добавляете новый комментарий, например, под его полем comments .
Кроме того, иметь / comments - плохая практика, поскольку вы действительно хотите опубликовать определенный фильм с прикрепленным к нему комментарием. Примерно так:
router.post('/movie/:id/newcomment:', function(req, res) {
Movie.findOne({ _id: req.params.id })
.then(movie => {
movie.comments.push(req.body.comment);
movie.save();
.then(result => {
res.status(200).json({'message': 'comment added successfully'});})
.catch(err => {
res.status(400).send("unable to save to database");
});
}
});
Но главная проблема здесь в том, что вы неправильно понимаете, что именно вам нужно делать.
Вы извлекаете данные из существующего API, но хотите добавить конкретные комментарии к конкретным фильмам из извлеченных данных.
Вы не можете достичь этого, не имея полного контроля над внешним API.
На самом деле вы могли бы создать структуру данных на стороне клиента для хранения всех извлеченных данных, а затем добавить к каждому объекту фильма внутри этой структуры данных еще одно свойство, которое будет называться comments и ID свойство, так что вы можете позже получить доступ к этой структуре данных по ID и обновить определенное свойство.