【发布时间】:2021-03-02 07:01:29
【问题描述】:
前几天,我在网上某处看到一条评论,告诉人们如何访问为 Mongoose.js Schema 中的 Enum 字段定义的值列表。可悲的是,我没有将那个花絮或它的 URL 提交到内存中,现在我需要它!
有人知道怎么做吗?
提前致谢!
【问题讨论】:
前几天,我在网上某处看到一条评论,告诉人们如何访问为 Mongoose.js Schema 中的 Enum 字段定义的值列表。可悲的是,我没有将那个花絮或它的 URL 提交到内存中,现在我需要它!
有人知道怎么做吗?
提前致谢!
【问题讨论】:
这就是你要找的吗?
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);
【讨论】:
String 类型是否有等效的 enum 验证?例如,在 Number 字段上,它只接受某些数字。
如果有人像我一样偶然发现这一点,那么在 mongoose 5.x 中对我有用的是:
Temp.schema.path('salutation').options.enums;
【讨论】: