模型\“ 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”。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...