【问题标题】:How to create a mongoose schema to accept only some discreet values如何创建猫鼬模式以仅接受一些谨慎的值
【发布时间】:2021-11-13 10:47:34
【问题描述】:

假设我有这个架构。

const mongoose = require("mongoose");
const Schema = mongoose.Schema;

const TestSchema = new Schema({
  language: {
  required: true,
  default: 'eng',
  },
});

// Compile model from schema
const TestModel = mongoose.model("Test", TestSchema);

如何配置此架构,以便 language 字段仅接受其值为 enghbrw。如果它接收到一些其他值,它将返回一个错误。

我知道可以使用 if else 显式完成,但我想知道它是否可以内置到架构中。

【问题讨论】:

标签: javascript node.js mongodb mongoose mongodb-query


【解决方案1】:

这就是它的完成方式:

const mongoose = require("mongoose");
const Schema = mongoose.Schema;

const TestSchema = new Schema({
  language: {
    required: true,
    enum: ['eng', 'hbrw']
    default: 'eng',
  },
});

// Compile model from schema
const TestModel = mongoose.model("Test", TestSchema);

枚举字段根据enum 字段中给出的数据数组验证即将到来的数据。

感谢@turivishal 提供此解决方案

【讨论】:

    猜你喜欢
    • 2020-10-09
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 2015-03-25
    • 2014-12-04
    • 2017-01-26
    • 2013-08-04
    相关资源
    最近更新 更多