如何解决模型\“ Trains \”的路径\“ setno \”的值\“ {详细信息:'233'} \”的字符串转换失败
我一直试图查看并解决它,但最终都没有找到相关的解决方案。 需要更多的投入和建议来解决此问题。请检查我的以下代码详细信息。 我正在使用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,start_station_code : {
type: String,required: false
},end_station_code : {
type: String,route_code : {
type: String,train_type : {
type: String,start_on : {
type: String,change_on : {
type: String,halts_at : {
type: String,required: true
}
},{ timestamps: true }
);
module.exports = mongoose.model('Trains',trainsSchema);
解决方法
在getTrainsbySetno方法中,参数“ details”是一个对象。因此,要获取details obj的值,我们需要将细节替换为“ details.details”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。