Heim  >  Fragen und Antworten  >  Hauptteil

Konvertierungsfehler – Der Wert „NaN“ (Typ „Number“) konnte nicht in „Number“ konvertiert werden. Dieser Fehler trat im Pfad „totalOrders“ auf.

Ich habe eine API für mein Projekt erstellt, aber auf einem der Endpunkte ist ein Fehler aufgetreten, den ich nicht beheben kann.

const fullOrdersForService = service.totalOrders
const updatedFullOrdersForService = fullOrdersForService + 1
const updateService = await Service.findOneAndUpdate({_id:serviceId}, { totalOrders: updatedFullOrdersForService },{new:true})

Absolut im obigen Code habe ich überprüft, dass service.totalOrders的类型,输出为数字,而且service.totalOrdersvon einem Muster stammt, sodass es keine Möglichkeit gibt, seinen Typ in String oder NaN zu ändern. Ich habe überprüft, ob es NaN ist und das Ergebnis ist auch falsch, es ist nicht NaN. Ich frage mich immer noch, wie dieser Fehler auftritt. Aber der folgende Fehler ist aufgetreten.

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))

Mein Service.totalOrders Muster ist unten zu sehen.

totalOrders:{
  type:Number,
  required:true,
  default:0
}

Mein Seller.totalOrders Muster ist unten zu sehen.

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})

Ich habe gerade diesen Code ausprobiert und den oben erwähnten Fehler erhalten.

P粉493534105P粉493534105430 Tage vor532

Antworte allen(1)Ich werde antworten

  • P粉608647033

    P粉6086470332023-09-09 13:46:39

    首先使用console.log(fullOrdersForService )console.log(updatedFullOrdersForService )来检查它是数字还是字符串

    如果updatedFullOrdersForService是正确的但是是字符串,在更新之前使用parseInt(updatedFullOrdersForService )

    Antwort
    0
  • StornierenAntwort