当前位置:  开发笔记 > 编程语言 > 正文

可以仅将JsonSchema与Mongoose一起使用吗?

如何解决《可以仅将JsonSchema与Mongoose一起使用吗?》经验,为你挑选了0个好方法。

我有一个使用express,mongodb的api,并且使用AJV验证来验证传入的请求。

//JSONSchema
var recordJsonSchema = {
     type: "object",
     properties: {
         name: { type: "string" },
         idNumber: { type: "number" },
         content: { type: "string" }
     },
     required: ['name','idNumber']
}

我将使用这种JSON模式来验证传入的请求。

app.post('/record', (req,res) => {
   let errors = ajv.inspect(req.body, recordJsonSchema)
   return errors ? res.send(errors) : res.send(this.handler(req));
})

这工作正常并且非常快。我也喜欢JsonSchema,因为它遵循OpenAPI标准。

不幸的是,为了通过mongoose读/写mongo,我还需要创建一个MongoSchema for Record。它们非常相似,但在处理必填字段等方面却有些不同。

var recordSchema = new Schema({
   name: { type: "string", required: true },
   idNumber: { type: "number", required: true },
   content: { type: "string" }
})

因此,对于我的记录模型,我现在有两个模式。一种用于JSONschema,另一种用于处理Mongo读/写。

我正在寻找一种削减MongoSchema的方法,有什么建议吗?

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有