模型 \"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 服务器

使用 Trains 跟踪单独的训练/测试过程

火车:重用以前的任务ID

向 Trains 服务器报告的弹性如何?

Trains 会自动记录 Tensorboard HParams 吗?

[CodeForces586D]Phillip and Trains