Экспресс роутер патч findoneandupdate не работает - PullRequest
0 голосов
/ 28 мая 2018

У меня есть следующий API для обработки обновления mongodb:

  router.patch('/update/:id', wrapAsync(async function(req) {
    console.log('id: ', req.params.id);
    console.log('req.body: ', req.body);
    const result = await db.collection('Whisky'.findOneAndUpdate({
      _id: Archetype.to(req.params.id, ObjectId)
    }, {$set: req.body}, {returnOriginal: false}))
    console.log('result: ',result);
    return { result }
  }))

первые 2 console.log имеют такой вывод:

id:  5b0bd25e8da4efd060c4f566
req.body:  { contractAddress: '0xd69026Bc6703ADbC1F571D6FBf07eF4a8e33fA0a' }

Вызов findoneandupdate некажется, возвращаются.Я пытаюсь обновить поле contractAddress в моем mongodb.Я не дохожу до последнего утверждения console.log.Кто-нибудь имеет представление о том, что я делаю неправильно?Запись существует в базе данных.Я также попытался вызвать fineoneandupdate, используя JSON.stringify (req.body), но это тоже не сработало.Спасибо!

1 Ответ

0 голосов
/ 28 мая 2018

Вам не хватает метода закрытия ) из collection.

Измените его с:

await db.collection('Whisky'.

На:

await db.collection('Whisky').
...