const flightNo = await FlightInfo.findOne({ "flightID": id }).select({ "flightNo": 1, "_id": 0 }) console.log(flightNo) await FlightInfo.findOneAndUpdate({ "flightID": id }, { "gate": assignedGate }) await Gate.findOneAndUpdate({ "gate": assignedGate }, { "lastUseTime": currTime, "flightNo": flightNo })
And the console log shows flightNo as { flightNo: ‘UA567’ }
I want to use the flightNo “UA567” in findOneAndUpdate. But this function fails. How can I extract the string from the object?
Advertisement
Answer
flightNo is an object which contains the field ‘flightNo’, you can access the value of that field by writing
console.log(flightNo.flightNo)
or you can write
const {flightNo} = await FlightInfo.findOne({ "flightID": id }).select({ "flightNo": 1, "_id": 0 }) console.log(flightNo)
and destructure that value from inside the object
Also findOneAndUpdate returns the document so you can just write:
const {flightNo}=await FlightInfo.findOneAndUpdate({ "flightID": id }, { "gate": assignedGate }) await Gate.findOneAndUpdate({ "gate": assignedGate }, { "lastUseTime": currTime, flightNo })