在使用NestJS和Mongoose时,为什么我的updateOne方法不能按ID更新用户名?

yh2wf1be  于 2023-02-23  发布在  Go
关注(0)|答案(1)|浏览(141)

在我的NestJS UserServiceupdate方法中,我使用updateOne根据用户ID更新用户名。但是,更新似乎无法正常工作。我做错了什么?
下面是相关代码:

async update(id: ObjectId, updateUserDto: UpdateUserDto) {
  return await this.userModel.updateOne({
    _id: id,
    name: {
      firstName: updateUserDto.name.firstName,
      lastName: updateUserDto.name.lastName,
    },
  });
}

谢谢你帮我!
当我调用这个方法并传入一个用户ID和一个UpdateUserDto对象(包含一个新的名字和/或姓氏)时,我希望数据库中的用户名会被更新,但是,当我调用update方法后检查数据库时,用户名没有改变。

n6lpvg4x

n6lpvg4x1#

根据文档,正确的函数调用应该有2个参数:第1个用于筛选,第2个用于更新字段。

async update(id: ObjectId, updateUserDto: UpdateUserDto) {
  return await this.userModel.updateOne({_id: id,}, {
    name: {
      firstName: updateUserDto.name.firstName,
      lastName: updateUserDto.name.lastName,
    },
  });
}

相关问题