gpt4 book ai didi

javascript - Mongoose 验证给出 "CastError: Cast to undefined failed for value"

转载 作者:行者123 更新时间:2023-12-03 10:02:54 24 4
gpt4 key购买 nike

当我尝试将数据保存在数据库中时,它给出禁止消息

CastError:转换为未定义的值失败

[
{"product":{"supplierId":{"undefined":"rfytr"}}},
{"product":{"supplierId":{"$empty":"rfytr"}}}
] at path "condition"

我无法找出问题所在。我的架构是

var mongoose = require('mongoose'),
validator = require('mongoose-validators'),
Schema = mongoose.Schema;
var RuleSchema = new Schema({
description: {
type: String,
validate: [validator.isLength(1, 50)]
},

status: {
type: String,
enum: ['live', 'active', 'paused', 'inactive', 'unfinished']
},

/**
condition. It can only contain object.
*/
condition: [{
type: Object
}]
});

最佳答案

我无法重现该确切的错误,但您应该将模式中的 condition 的定义更改为非结构化对象数组支持的格式之一,因为我得到了其他尝试使用[{type: Object}]时出错。其中任何一个都有效:

condition: [{}]
condition: [Schema.Types.Mixed]

但您还需要删除 $empty 字段名称中的前导 $,因为字段名称以 $ aren't allowed 开头由 MongoDB 提供。

关于javascript - Mongoose 验证给出 "CastError: Cast to undefined failed for value",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30497975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com