如何在数据库中存储mongoose模式

我正在开发一个特殊的应用程序与明确和mongoose需要build立一个mongoose模式,然后将其存储在数据库中。 我想创build一个项目,人们可以在运行时dynamic创build集合,然后要求其他人通过特殊的forms来填充这些集合

例如,我想存储一个模式,如下面的一个到我的数据库。 我怎样才能做到这一点?

var entitySchema = { name : String, num : [Number], time : [Date] } ; 

是否有任何特殊的function,将mongoose模式转换为JSON或string?
在架构json上调用toString()函数不起作用,因为它不能解释StringNumbertypes

Mongoose模式使用像Date和它自己的types这样的Schema.Types.Mixed ,比如Schema.Types.Mixed来定义模式,MongoDB不会知道如何存储这些东西,所以你将不得不做一些额外的序列化/反序列化操作工作。 例如,在保存模式时将函数转换为string,例如Date – >“Date”,并在将模式读回mongoose时再次恢复正确的Date函数。 您需要通过架构结构recursion来查找有问题的属性并进行修改。 这是可行的,但如果你不需要mongoose提供的额外function(如索引生成,前/后中间件等),还有其他更好的select。

您可以考虑使用JSON模式 。 这是一个受欢迎的图书馆是电视4 。

JSON模式可以保存在mongoDB中,不需要改变,你可以在客户端和服务器上使用相同的模式库。 JSON模式parsing引擎还为您提供了更多关于validation的选项,例如更好的错误消息。