updateOne 的猫鼬打字稿类型

时间:2021-05-27 07:13:02

标签: typescript mongoose

我有以下代码:

async setProcessedSubUser(id: ObjectId, processSub: ProcessSubscriptionInterface): Promise<???> {
  return this.userModel.updateOne({ _id: id }, { inProcessSubscription: processSub });
}

执行查询时,响应类似于 { n: 1, nModified: 1, ok: 1 }

如果我这样调用我的函数:

return this.userService.setProcessedSubUser(YYY, XXX)
    .then((response) => {
      if (response.nModified !== 1) // error
      return response;
    })

代码崩溃,因为 nModified dosen't exist on response

我需要用什么类型来代替 ???

1 个答案:

答案 0 :(得分:0)

只需创建 setProcessedSubUser 函数返回的接口即可。


interface IUpdateOne {
  n: number;
  nModified: number;
  ok: number;
}

async setProcessedSubUser(id: ObjectId, processSub: ProcessSubscriptionInterface): Promise<IUpdateOne> {
  return this.userModel.updateOne({ _id: id }, { inProcessSubscription: processSub });
}