J'ai créé une API pour mon projet, mais j'ai eu une erreur sur l'un des points de terminaison que je ne parviens pas à corriger.
const fullOrdersForService = service.totalOrders const updatedFullOrdersForService = fullOrdersForService + 1 const updateService = await Service.findOneAndUpdate({_id:serviceId}, { totalOrders: updatedFullOrdersForService },{new:true})
Absolument dans le code ci-dessus, j'ai vérifié que service.totalOrders
的类型,输出为数字,而且service.totalOrders
provient d'un motif, il n'y a donc aucune possibilité de changer son type en String ou NaN. J'ai vérifié si c'est NaN et le résultat est également faux, ce n'est pas NaN. Je me demande toujours comment cette erreur se produit.
Mais l'erreur suivante s'est produite.
messageFormat: undefined, stringValue: '"NaN"', kind: 'Number', value: NaN, path: 'totalOrders', reason: AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value: assert.ok(!isNaN(val))
Mon Service.totalOrders
modèle peut être vu ci-dessous.
totalOrders:{ type:Number, required:true, default:0 }
Mon Seller.totalOrders
modèle peut être vu ci-dessous.
totalOrders:{ type:Number, required:true, default:0 }
const fullOrdersForService = service.totalOrders const updatedFullOrdersForService = fullOrdersForService + 1 const updateService = await Service.findOneAndUpdate({_id:serviceId}, { totalOrders: updatedFullOrdersForService },{new:true})
Je viens d'essayer ce code et j'ai obtenu l'erreur que j'ai mentionnée ci-dessus.
Utilisez d'abord
console.log(fullOrdersForService )
和console.log(updatedFullOrdersForService )
pour vérifier s'il s'agit d'un nombre ou d'une chaîneSi la mise à jourFullOrdersForService est correcte mais une chaîne, utilisez-la avant la mise à jour
parseInt(updatedFullOrdersForService )