Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript mongodb中的对象元数据(模式)设计_Javascript_Json_Mongodb_Meteor - Fatal编程技术网

Javascript mongodb中的对象元数据(模式)设计

Javascript mongodb中的对象元数据(模式)设计,javascript,json,mongodb,meteor,Javascript,Json,Mongodb,Meteor,首先,请原谅,因为我不知道它在计算机中是如何命名的,因为: 对于我的mongo应用程序中的每个文档类型,我想定义一个结构,每个字段都定义了它的约束、验证模式,通常还有可以查看、修改和删除此文档的角色 例如:Book: { name: "Book", viewRoles: ["Admin","User"], createRoles: ["Admin"], modifyRoles: ["Admin", "User"], fields: [ { id:"title", na

首先,请原谅,因为我不知道它在计算机中是如何命名的,因为:

对于我的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文档元设计”时,我得到了无用的信息


我的问题是如何调用它——当我想要预定义文档的模式并能够修改它时。我在哪里可以获得更多关于如何设计此类系统的信息?

我想您正在寻找如何为数据建模。以下链接可能会有所帮助:

我还希望能够创建新的文档类型,修改 他们的字段通过我的应用程序的管理面板

对于管理活动,您可以查看下列选项:

一旦你完成了,你可能想把这当作一个开始:

在Mongo DB中,不创建集合。你只要开始使用它们。因此,您不能预先定义模式。集合是在您对集合进行的第一次插入时创建的。在将文档插入集合之前,请确保集合上有索引:

db.collection.ensureIndex({keyField: 1})

因此,这一切都取决于维护插入到集合中的文档的结构,而不是定义集合。

既然您将其标记为具有Meteor连接,我将向您指出简单模式:。我使用它,以及相关的collection2软件包。我发现这是一种记录和实施模式设计的好方法。当与autoform包一起使用时,它还提供了一种直接从模式创建已验证表单的方法