Mongodb 快速路由器修补程序findoneandupdate不工作

Mongodb 快速路由器修补程序findoneandupdate不工作,mongodb,express,router,patch,Mongodb,Express,Router,Patch,我有以下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: Archety

我有以下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的调用似乎没有返回。我正在尝试更新mongodb中的contractAddress字段。我没有看到最后一条console.log语句。有人知道我做错了什么吗?该记录存在于数据库中。我还尝试使用JSON.stringify(req.body)调用fineoneandupdate,但也没有成功。谢谢

您缺少
集合
方法的关闭

更改为:

await db.collection('Whisky'.
致:


新鲜的眼睛!谢谢“我在拔头发呢!”比尔很乐意帮忙!您如何提出修补程序请求?我找不到这方面的任何信息。
await db.collection('Whisky').