📌  相关文章
📜  访问 MongoDb Mongoose Schema 中 Enum 字段的有效值列表 - Javascript (1)

📅  最后修改于: 2023-12-03 15:12:08.786000             🧑  作者: Mango

访问 MongoDB Mongoose Schema 中 Enum 字段的有效值列表 - Javascript

在 Mongoose Schema 中,可以使用 Enum 内置属性指定有效的值。这是确保字段值在预定义值列表中的最佳方法。

在某些情况下,需要动态地获取枚举字段的有效值列表。本文将介绍如何访问 MongoDB Mongoose Schema 中 Enum 字段的有效值列表。

步骤
  1. 首先定义一个包含 Enum 属性的 Mongoose Schema,例如:
const userSchema = new mongoose.Schema({
  gender: {
    type: String,
    enum: ['male', 'female']
  }
});
  1. 获取 Schema 中的 'gender' 字段的枚举列表:
const validGenders = userSchema.path('gender').enumValues;

这将返回有效值的数组 ['male', 'female']。

  1. 现在,您可以在 API 中使用这些有效值来帮助您验证请求体中的字段值:
const { gender } = req.body;
if (!validGenders.includes(gender)) {
  return res.status(400).json({error: 'Invalid gender'});
}
结论

在 Mongoose Schema 中使用 Enum 属性是一种强大的方式来确保字段值在预定义的值列表中。如果您需要动态地获取一个枚举字段的有效值列表,可以使用上述步骤。