Mongoose中如何从findOne()提取字符串值并用于更新操作?
Mongoose提取查询结果中的字符串值
直接通过对象属性访问即可提取目标字符串:
// 从返回的对象中提取flightNo字符串值 const flightNoStr = flightNo.flightNo;
修改后的完整代码如下:
const flightNo = await FlightInfo.findOne({ "flightID": id }).select({ "flightNo": 1, "_id": 0 }) console.log(flightNo) // 提取字符串值 const flightNoStr = flightNo.flightNo; await FlightInfo.findOneAndUpdate({ "flightID": id }, { "gate": assignedGate }) await Gate.findOneAndUpdate({ "gate": assignedGate }, { "lastUseTime": currTime, "flightNo": flightNoStr })
如果想让Mongoose直接返回普通JavaScript对象而非文档对象,也可以在查询时添加.lean()方法,属性访问逻辑完全一致:
const flightNo = await FlightInfo.findOne({ "flightID": id }).select({ "flightNo": 1, "_id": 0 }).lean() const flightNoStr = flightNo.flightNo;
内容的提问来源于stack exchange,提问作者charlotte zou
相关产品推荐
相关产品推荐

