我的猫鼬集合中有一个枚举属性,其初始定义为box-shadow
,我需要更改它以向枚举添加附加动作const actions = ['a', 'b', 'c']
,但是当我尝试使用附加值时即const actions = ['a', 'b', 'c', 'd', 'e']
我收到验证错误action = 'e'
我的问题是我如何在已经在生产中的猫鼬的mongo集合中为枚举添加附加值。
"Model validation failed: action: 'e' is not a valid enum value for path 'action'."
答案 0 :(得分:1)
由于当前数据与以前的数据不一致,Mongoose会尝试使用新数据来验证当前数据(旧模式),即使您不进行任何修改并导致验证错误。就我而言,我强制Mongoose通过使用标志validateBeforeSave
保存新模式。
例如:
const savedProduct = await currentProduct.save({ validateBeforeSave: false });