使用JSON-Schema定义模式并使用Mongoose?

时间:2015-03-24 17:31:43

标签: node.js mongoose schema asp.net-web-api jsonschema

你好, 我对猫鼬有一个难题。 有没有办法使用JSON-Shema和Mongoose Schemas? 假设我想使用像JSON-Schema这样的标准来定义我的API数据模式,因为它很好。 当我想使用Mongoose / MongoDB时,我似乎需要再次定义它! 这是我想避免的一些丑陋的重复。理想情况下,更改JSON-Schema定义也会更改MongoDB架构。 如果我使用JOI.JS验证库,就会出现类似的问题。 有人找到了解决方案吗? 或者有替代方法吗?

感谢

2 个答案:

答案 0 :(得分:7)

试试这个图书馆:https://www.npmjs.com/package/json-schema-to-mongoose还有其他图书馆。我创建了json-schema-to-mongoose,因为其他图书馆并不适合我的需要。

另外,我想使用json-schemaTypeScript生成Typson。它使得json-schema更加静态地输入。

<强>更新

Typson项目似乎已经死了。这是另一个(typescript-json-schema)项目做同样的事情,虽然我从未使用它。

答案 1 :(得分:2)

因为我也遇到了这个问题并且找到了一个替代所提供建议的解决方案,所以在这里鸣响。

可以使用https://github.com/nijikokun/generate-schema获取普通JS对象并将其转换为JSON Schema和Mongoose Schema。在使用验证和持久性改进现有代码的情况下,我发现这个工具更容易,因为你可能已经有了一个示例对象。