【问题标题】:How to set type of a property in javascript object, like mongoose schema design do.?如何在 javascript 对象中设置属性的类型,就像猫鼬模式设计一样。?
【发布时间】:2016-08-25 12:24:50
【问题描述】:

我正在尝试在 javascript 中为对象的键设置类型。 变量 obj ={}; obj.name = 字符串; obj.age = 数字; obj.approve = 假; 它更像是设计猫鼬模式。例如。

var mongo = require('mongoose');
var mySchema = new mongo.Schema({
"name":{type: String},
"version":{type: String},
"author":{type:String}
});

以便在保存对象时检查类型。 我如何在声明它时使用普通的 javascript 对象执行此功能。这样我就可以对对象的传入 API 请求执行类型检查。 我希望你们都明白我想要达到的目标。

【问题讨论】:

  • 你能用一个更简单的例子来解释一下吗?谢谢

标签: javascript node.js mongodb mongoose


【解决方案1】:

您需要使用 JSON 模式验证器,如下所示: https://www.npmjs.com/package/ajv

简短示例:

var Ajv = require('ajv');
var ajv = Ajv();
var schema = {
  "type": "object",
  "properties": {
    "foo": { "type": "number" },
    "bar": { "type": "string" }
  },
  "required": [ "foo", "bar" ]
};

var data = { "foo": 1 };

var validate = ajv.compile(schema);

console.log(validate(data)); // false

【讨论】:

    猜你喜欢
    • 2023-03-19
    • 1970-01-01
    • 2017-01-08
    • 2014-12-09
    • 1970-01-01
    • 2015-05-20
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    相关资源
    最近更新 更多