IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    奇怪的error “CastError: Cast to String failed for value”

    s3293418发表于 2017-03-30 16:11:11
    love 0

    设计api的时候遇到了一个奇怪的错误 代码如下:

    	const mongoose = require('mongoose');
      	const Schema = mongoose.Schema;
      
      	const CategorySchema = new Schema({
    		store : {type: String, required: true, unique: true},
    		categories : [{
    	 		parent : String,
    	  		name : String,
    		}],
      	}, {
    		timestamps: false,
      	});
      	CategorySchema.index({store: 1});
      	module.exports = mongoose.model('Category', CategorySchema);
    

    建模好了之后储存没问题,但是查询的时候就出现了如下错误

    	(node:15444) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): ValidationError: CastError: Cast to String failed for value "{ _id: 58dd019b1a06731b0990b878,
      	store: 'OZ-Mobile-trader',
      	categories: [],
      	__v: 0 }" at path "store"
    

    查询语句如下:

    	Category.findOne({store: 'OZ-Mobile-trader'}).exec().then(result => {
    		console.log(result);
    		return res.status(200).json({'message': result});
    	}, err => next(err));
    

    如果把‘OZ-Mobile-trader’换成数据库里没有的,就没有error,直接输出null,但是只要查询有的或者查询所有数据,result就输出不出来,直接出来上面的error message. 我也有建相似的数据模型,别的都没问题,只有这个不好用,希望有大神可以棒棒忙~ 谢谢大家



沪ICP备19023445号-2号
友情链接