首先请原谅我,因为我不知道它是如何在计算机中调用的:
对于我的mongo应用程序中的每个文档类型,我想定义一个结构,每个字段都使用其约束,验证模式以及通常可以查看修改和删除此文档的角色进行定义。
例如:Book
:
{
name: "Book",
viewRoles: ["Admin","User"],
createRoles: ["Admin"],
modifyRoles: ["Admin", "User"],
fields: [
{
id:"title",
name:"Book Title",
validation: "",
maxLength: 50,
minLength: 3,
required: true
},
{
id:"authorEmail",
name:"Email of the Author",
validation: "email",
maxLength: 50,
minLength: 3,
required: false
}
]
}
然后,如果我对所有文档都有这个“模式”,我可以有一个视图来创建修改和显示这个“实体”。
我还希望能够创建新的文档类型,通过我的应用程序的管理面板修改它们的字段。
当我谷歌“mongo动态架构”,“mongo文档元设计”时,我得到了无用的信息。
我的问题是如何调用它 - 当我想要预定义的文档架构并且能够修改它时。我可以在哪里获得有关如何设计此类系统的更多信息?
答案 0 :(得分:1)
由于您将此标记为具有Meteor连接,因此我将指向简单架构:https://github.com/aldeed/meteor-simple-schema/。我使用它,以及相关的collection2包。我发现这是一种记录和实施模式设计的好方法。与autoform包一起使用时,它还提供了一种直接从模式创建验证表单的方法。
答案 1 :(得分:0)
我认为您正在寻找如何为数据建模。以下链接可能会有所帮助:
http://docs.mongodb.org/manual/data-modeling/
我还希望能够创建新的文档类型,进行修改 他们的领域通过我的申请管理面板。
对于管理活动,您可以查看以下选项:
http://docs.mongodb.org/ecosystem/tools/administration-interfaces/
一旦你完成了,你可能想把它作为一个开始:
https://blog.serverdensity.com/mongodb-schema-design-pitfalls/
在Mongo DB中,您不能创建集合。你刚开始使用它们。所以你不能事先定义模式。在您对集合进行的第一个插入中创建集合。只需确保在将文档插入其中之前确保集合上的索引:
db.collection.ensureIndex({keyField: 1})
所以这一切都取决于维护插入到集合中的文档的结构,而不是定义集合。