【问题标题】:Access the list of valid values for an Enum field in a Mongoose.js Schema访问 Mongoose.js 架构中 Enum 字段的有效值列表
【发布时间】:2021-03-02 07:01:29
【问题描述】:

前几天,我在网上某处看到一条评论,告诉人们如何访问为 Mongoose.js Schema 中的 Enum 字段定义的值列表。可悲的是,我没有将那个花絮或它的 URL 提交到内存中,现在我需要它!

有人知道怎么做吗?

提前致谢!

【问题讨论】:

    标签: node.js mongoose


    【解决方案1】:

    这就是你要找的吗?

    var mongoose = require('./index')
    , TempSchema = new mongoose.Schema({
    salutation: {type: String, enum: ['Mr.', 'Mrs.', 'Ms.']}
    });
    
    var Temp = mongoose.model('Temp', TempSchema);
    
    console.log(Temp.schema.path('salutation').enumValues);
    var temp = new Temp();
    console.log(temp.schema.path('salutation').enumValues);
    

    来源:https://gist.github.com/953059

    【讨论】:

    • 为什么,是的!是的。谢谢!
    • 我很惊讶枚举只在 Mongoose 验证文档中被提及,而不是在讨论模式的更通用的“guide.html”中。为抬头干杯!
    • 对于非 String 类型是否有等效的 enum 验证?例如,在 Number 字段上,它只接受某些数字。
    • @srt32 不,您必须自己检查。看here
    【解决方案2】:

    如果有人像我一样偶然发现这一点,那么在 mongoose 5.x 中对我有用的是:

    Temp.schema.path('salutation').options.enums;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2017-03-06
      • 2016-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多