模型 \"Trains\ 的路径 \"setno\" 处的值 \" details: '233' \" 转换为字符串失败
Posted
技术标签:
【中文标题】模型 \\"Trains\\ 的路径 \\"setno\\" 处的值 \\" details: \'233\' \\" 转换为字符串失败【英文标题】:Cast to string failed for value \" details: '233' \" at path \"setno\" for model \"Trains\模型 \"Trains\ 的路径 \"setno\" 处的值 \" details: '233' \" 转换为字符串失败 【发布时间】:2021-02-16 19:25:06 【问题描述】:我一直在尝试查看并解决它,但最终没有相关的解决方案。 需要更多输入和建议来解决此问题。请检查我的以下代码详细信息。 我正在使用 Express GraphQL 和猫鼬版本:^5.9.25
我正在使用 GraphQL 来做到这一点,
以下是我的查询请求
query
getTrainsbySetno(details:"233")
_id
setno
train_no
start_station_code
end_station_code
route_code
train_type
start_on
change_on
halts_at
createdAt
updatedAt
我的 GraphqL 查询响应
"errors": [
"message": "Cast to string failed for value \" details: '233' \" at path \"setno\" for model \"Trains\"",
"locations": [
"line": 55,
"column": 3
],
"path": [
"getTrainsbySetno"
]
],
"data":
"getTrainsbySetno": null
下面是我的解析器
getTrainsbySetno: async (details) =>
try
const result = await Trains.find($or:[setno: details ,train_no: details]);
console.log(result);
return result.map(res =>
return ...res._doc, _id: res.id ;
);
catch (err)
throw err;
,
以下是我的架构:
const Schema = mongoose.Schema;
const trainsSchema = new Schema (
setno :
type: String,
required: true
,
train_no :
type: String,
required: true
,
start_station_code :
type: String,
required: false
,
end_station_code :
type: String,
required: true
,
route_code :
type: String,
required: true
,
train_type :
type: String,
required: true
,
start_on :
type: String,
required: true
,
change_on :
type: String,
required: true
,
halts_at :
type: String,
required: true
,
timestamps: true
);
module.exports = mongoose.model('Trains', trainsSchema);
【问题讨论】:
【参考方案1】:在getTrainsbySetno 方法中,参数“details”是一个对象。所以要获取 details obj 的值,我们需要将 details 替换为 "details.details" 。
【讨论】:
是的,我忘了将细节视为对象以上是关于模型 \"Trains\ 的路径 \"setno\" 处的值 \" details: '233' \" 转换为字符串失败的主要内容,如果未能解决你的问题,请参考以下文章
从 AMI 移动到本地机器时如何备份/恢复 TRAINS 服务器