使用猫鼬(与NestJS和Typescript一起使用),更新文档最有效的代码是什么?

时间:2020-03-28 17:13:04

标签: typescript mongoose nestjs

为了在学习NestJS和猫鼬的同时增进对打字稿语言的理解,我尝试从此从this repo重构方法updateProduct ...

async updateProduct(
  productId: string,
  title: string,
  desc: string,
  price: number,
) {
  const updatedProduct = await this.findProduct(productId);
  if (title) {
    updatedProduct.title = title;
  }
  if (desc) {
    updatedProduct.description = desc;
  }
  if (price) {
    updatedProduct.price = price;
  }
  updatedProduct.save();
}

..对此。.

async updateProduct(
  product: Product
) {
  return (<Product>{
    ...await this.findProduct(product.id),
    ...product,
  }).save();
}

但是,我得到了例外:

TypeError:Object.assign(...)。save不是函数

这是怎么了?

似乎我需要一个模型对象。目的是根据需要进行简短的调用,以更新我的mongo(地图集)集合中的单个对象。我最终确实做到了:

async updateProduct2(product: Product) {
  return await this.productModel.updateOne({_id: product.id}, product);
}

不过,出于我学习打字稿的目的,我很好奇这里涉及对象传播修饰符的其他选项。你说什么?

0 个答案:

没有答案