限制猫鼬字段值

lal*_*itb 7 mongoose mongodb node.js

我正在尝试创建:

var mongoose = require('mongoose');

var FeelingSchema = new mongoose.Schema({
    userId: String,
    feelingDate: Date,
    feelingTimeOfDay: String,
    feelingValue: String
  }
);
Run Code Online (Sandbox Code Playgroud)

如何将字段feelingValue的值限制为有限的集合,例如['happy','angry','shocked']

我正在使用版本3.8.23的猫鼬

Joh*_*yHK 27

您可以enum使用模式定义中的属性将字符串字段约束为一组枚举值:

var FeelingSchema = new mongoose.Schema({
    userId: String,
    feelingDate: Date,
    feelingTimeOfDay: String,
    feelingValue: { type: String, enum: ['happy', 'angry', 'shocked'] }
  }
);
Run Code Online (Sandbox Code Playgroud)