@AndrewRusinas

Как добавить новый объект в массив MongoDB?

Есть вот такая схема:
var PostSchema = new Schema({
  title: String,
  description: String,
  content: String,
  image: String,
  category: String,
  url: String,
  views: {
    type: Number,
    default: 0
  },
  comments: [
    {
      username: String,
      email: String,
      comment: String
    }
  ]
});


Не могу понять, каким правильно добавить еще один коммент в массив комментов.

Попытался вот так, но, кажется, это даже не близко к тому, что мне нужно.

router.put('/blog/:url/add-comment', (req, res) => {
		let db = req.db
		Post.updateOne({ 'url': req.params.url }, {$push: {comments: {
			'username': req.body.comments.username,
			'email': req.body.comments.email,
			'comment': req.body.comments.comment
		}}})


Кстати, если например у меня есть отдельный метод для обновления счетчика просмотров и есть форма добавления комментариев, оба используют метод Put, то для каждого нужен отдельный роут (/post/:url/update-conter, /post/:url/new-comment), или же можно по одному роуту передавать разные методы?
  • Вопрос задан
  • 400 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы