我试图在Mongoose中创建和使用一个enum
类型。我检查了它,但没有得到正确的结果。我在程序中使用enum
,如下所示:
我的架构是:
var RequirementSchema = new mongooseSchema({
status: {
type: String,
enum : ['NEW,'STATUS'],
default: 'NEW'
},
})
但是我在这里有点困惑,我怎么能把一个enum
的值像Java NEW("new")
一样放进去呢?我怎么能根据它的可枚举值把一个enum
保存到数据库中呢?我在express node.js中使用它。
6条答案
按热度按时间6qqygrtg1#
这里的枚举基本上都是String对象。将枚举行改为
enum: ['NEW', 'STATUS']
。您在引号中输入了错字。ycl3bljg2#
从docs
Mongoose有几个内置的验证器。字符串有enum作为验证器之一。因此enum创建一个验证器并检查值是否在数组中给出。例如:
b1zrtrql3#
假设我们有一个由下式定义的枚举
Role
我们可以将其用作如下类型:
tnkciper4#
如果要使用TypeScript
enum
,可以在接口IUserSchema
中使用它,但在架构中必须使用array
(Object.values(userRole)
)。0tdrvxhp5#
Enums是String对象,例如:
enum :['a','b','c']
或者可能像这样const listOfEn = ['a','b','c']; => enum: listOfEn
vjrehmav6#
在结构描述设计中,您可以使用enum保留字轻松地加入枚举值,如下所示:-