如何在javascript对象中设置属性的类型,就像mongoose模式设计一样

How to set type of a property in javascript object, like mongoose schema design do.?

本文关键字:模式 mongoose 一样 就像 对象 javascript 设置 类型 属性      更新时间:2023-09-26

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

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

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

您需要使用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