问题:我正在开发一个Web服务,允许开发人员“注册”他们的Mongoose模式 - 他们将在浏览器中创建JSON模式,然后将AJAX发送到我的服务器。'存储'猫鼬纲要/模型(不是文档)供将来使用
因此,我将使用提交的模式创建一个新的Mongoose模型,但现在即使在重新启动服务器时也需要此模式。
我有代码,不会是这样的:
/* schemaObj is what you create a schema with,
for example { name: String, id: Number } */
registerSchema = function(model_name, schemaObj) {
desiredSchema = new Schema(schemaObj);
desiredCollection = 'collection_' + model_name;
mongoose.model(desiredCollection, desiredSchema, desiredCollection);
}
好了,这创造了一个模型,我们的自定义模式。
现在我的问题是,我运行此代码后,创建一个模型,然后重新启动服务器,新集合/模型将不存在 - 因为显然只有当一个文档被保存时创建一个集合 - 并且我现在不想保存文档(因为我没有),只需创建一个集合即可。
问题:有没有一种方法可以用这个“固定”模式创建一个集合 - 以便未来插入的文档应该严格符合模式?我基本上在寻找类似于SQL中的create table
。
** 4 **是我想确认,谢谢。所以我需要将注册模式存储在自己的数据库中,我想我应该有一个单独的字符串模式集合+它们的集合名称;并重新加载它们重新开始。 – 2011-12-26 18:57:54
是的!即使您的模式不是动态的,您也需要这样做。最好! – 2011-12-26 19:32:40