레코드를 업데이트하고 업데이트 전에 동일한 레코드를 삭제하는 방법(nest js & mongoDB)
2599 단어 nodemongodbjavascriptnestjs
컨트롤러.ts
public updateVendorServiceSpecialPrice = async (req: Request, res: Response, next: NextFunction): Promise<Response | void> => {
try {
if (req.body.vendorServiceId!='') {
let results = await this.ServicesService.updateVendorServicesSpecialPrice(req.params.vendorServiceId, req.body);
if (results != false) {
this.success(res, 'Updated Successfully', 200, results._id);
}
}
return await this.error(res, 'Something Went Wrong!.', 500);
} catch (e) {
next(e)
}
}
서비스.ts
public async updateVendorServicesSpecialPrice(
vendorServiceId: any,
data: any
): Promise<any | Error> {
try {
return new Promise((resolve, reject) => {
vendorServiceSpecialPriceSchema.findByIdAndUpdate(
vendorServiceId,
{ ...data },
(err: any, success: any) => {
if (err) {
reject(err);
}
if (!success) {
resolve(false);
} else {
resolve(success);
}
}
);
});
} catch (e) {
console.log('service error\n', e);
throw e;
}
}
나는 이것을 해결하기 위해 이런 식으로 노력하고 있습니다. 내가 틀렸을 수도 있습니다. 올바른 프로세스를 가져올 수 있습니다.
public async updateVendorServicesSpecialPrice(
vendorServiceId: any,
data: any
): Promise<any | Error> {
try {
return new Promise((resolve, reject) => {
vendorServiceSpecialPriceSchema.deleteOne({vendorServiceId})
vendorServiceSpecialPriceSchema.findOneAndUpdate(
vendorServiceId,
{ ...data },
{ returnNewDocument: true },
(err: any, success: any) => {
if (err) {
reject(err);
}
if (!success) {
resolve(false);
} else {
resolve(success);
}
}
);
});
} catch (e) {
console.log('service error\n', e);
throw e;
}
}
시간 내 줘서 고마워....
Reference
이 문제에 관하여(레코드를 업데이트하고 업데이트 전에 동일한 레코드를 삭제하는 방법(nest js & mongoDB)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/umasankarswain/how-to-update-a-record-and-delete-that-same-record-before-update-nest-js-mongodb-349m텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)