web-dev-qa-db-ja.com

MongooseでEnumを作成して使用する方法

Mongooseでenumタイプを作成して使用しようとしています。確認しましたが、適切な結果が得られません。私は次のように私のマンゴーススキーマでenumを使用しています:

var RequirementSchema = new mongoose.Schema({
   status: {
        type: String,
        enum : ['NEW', 'STATUS'],
        default: 'NEW'
    },
})

しかし、ここでは少し混乱しています。Java NEW("new")のようなenumの値をどのように入れることができますか。列挙可能な値に従ってenumをデータベースに保存するにはどうすればよいですか。 Express Node.jsで使用しています。

52
Prabjot Singh

ここの列挙型は、基本的にStringオブジェクトです。代わりに、enum行をenum: ['NEW', 'STATUS']に変更します。引用符でタイプミスがあります。

100
Mindstormer619

EnumsはStringオブジェクトなので、たとえばenum :['a','b','c']またはおそらくこのようなconst listOfEn = ['a','b','c']; => enum: listOfEn

8
hien711

docs から

Mongooseにはいくつかのバリデーターが組み込まれています。文字列には、バリデータの1つとしてenumがあります。したがって、enumはバリデーターを作成し、値が配列で指定されているかどうかを確認します。例えば:

var userSchema = new mongooseSchema({
   userType: {
        type: String,
        enum : ['user','admin'],
        default: 'user'
    },
})

5
Deeksha Sharma