首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在mongodb中设置新字段的默认值?

如何在mongodb中设置新字段的默认值?
EN

Stack Overflow用户
提问于 2019-08-19 21:19:17
回答 1查看 1.3K关注 0票数 0

我有一个像下面这样的mongoose模式:

代码语言:javascript
复制
var schema = mongoose.Schema({
    name: String
}

我有一些具有这些模式的文档,一段时间后,我添加了一个具有默认值的新字段:

代码语言:javascript
复制
var schema = mongoose.Schema({
    name: String,
    job: {type: String, default: function() { return "Job" + this.name.toLowerCase() }}
}

当我获得文档(findOne)时,我可以看到设置了默认值。但是当我检查我的数据库中的确切行时,默认值还没有设置!

当我添加新文档时,设置了默认值,一切正常;但是如何在数据库中设置旧文档的默认值?

EN

回答 1

Stack Overflow用户

发布于 2019-08-19 21:29:42

尝试使用钩子更新您的旧文档:

代码语言:javascript
复制
 schema.post('init', function (doc) {

  if(!doc.job){
  doc.job = "Job" + doc.name.toLowerCase();
  doc.save();

 } 

});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57557590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档