MongoDB / Express API не обновляет запись, но возвращает 200 - PullRequest
0 голосов
/ 30 апреля 2018

В настоящее время я работаю над решением проблемы в моем веб-приложении React, которая не позволяет мне обновлять записи в базе данных Mongo. Я получаю новые документы и легко получаю все записи, однако, когда я пытаюсь обновить часть из них, я получаю ответ 200, но документ никогда не обновляется. Вот звонок из моего приложения реакции:

fetch(API + this.state.project.pin, {
  method: 'POST',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },
  body: updatedFunctions
})

и соответствующий экспресс-код

 app.post('/:pin', (req, res) => {

  db.collection('projects').update({pin:req.params}, {$set: {functions:req.body}}, function(err, count, result) {
    if (err) return console.log(err)
    console.log('saved to database')
    res.redirect('/')
  })
})

Кто-нибудь знает, куда это отправляется в неправильном направлении? Согласно моей логике, оно должно заменить поле функции в документе соответствующим пин-кодом на объект «updatedFunctions».

1 Ответ

0 голосов
/ 30 апреля 2018

Ваш критерий поиска кажется неправильным:

db.collection('projects').update({pin: req.params.pin}, [...]

Ваша версия будет искать объект в ключе pin. Теперь выполняется поиск скаляра / строки в ключе pin.

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