为了在学习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);
}
不过,出于我学习打字稿的目的,我很好奇这里涉及对象传播修饰符的其他选项。你说什么?