首页 > 解决方案 > 猫鼬中 ref 集合的默认值

问题描述

我有一个用户个人资料,我有一个“收入”字段,它在架构中看起来像这样

收入:{类型:Schema.Types.ObjectId,参考:'收入'}

这如何在创建新用户时为收入字段设置默认值?我不能这样做

earning: {
    type: Schema.Types.ObjectId,
    ref: 'Earning',
    default: 0
  }

我在路径“earning”处收到值“0”的 Cast to ObjectId failed 错误

标签: node.jsmongodbmongoose

解决方案


您在这里做错的是尝试在 ID 字段上输入数字。由于它是另一个对象 Id 字段的引用,因此您不能将其设置为 0。您需要做的是设置null何时在db中创建用户并将其初始化为null值。喜欢:

earning: {
  type: Schema.Types.ObjectId,
  ref: 'Earning',
  default: null
}

推荐阅读