Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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
在MongoDB中使用嵌套文档还是通过ID连接的多个文档?_Mongodb_Gridfs_Nosql - Fatal编程技术网

在MongoDB中使用嵌套文档还是通过ID连接的多个文档?

在MongoDB中使用嵌套文档还是通过ID连接的多个文档?,mongodb,gridfs,nosql,Mongodb,Gridfs,Nosql,我有一个“项目”实体,每个项目可以有许多“模型”(文件和一些元数据),每个模型都与一个“用户”关联。 到目前为止,我已经将每个实体视为MongoDB中的一个文档,但是,在尝试创建它们之间的关系时,我发现自己回到了SQl风格(例如,在每个模型的元数据中添加项目ID)。在NoSQL世界中这样行吗?我是否应该为project创建一个嵌套文档,其中包含所有链接模型的列表?如果是,考虑到我使用GridFs来存储模型文件,而项目只是一个普通文档,我该如何做呢?在MongoDB中,您的数据模型应该是这样的:最

我有一个“项目”实体,每个项目可以有许多“模型”(文件和一些元数据),每个模型都与一个“用户”关联。
到目前为止,我已经将每个实体视为MongoDB中的一个文档,但是,在尝试创建它们之间的关系时,我发现自己回到了SQl风格(例如,在每个模型的元数据中添加项目ID)。在NoSQL世界中这样行吗?我是否应该为project创建一个嵌套文档,其中包含所有链接模型的列表?如果是,考虑到我使用GridFs来存储模型文件,而项目只是一个普通文档,我该如何做呢?

在MongoDB中,您的数据模型应该是这样的:最频繁访问的查询应该是快速的。在这个场景中,由于您使用GridFS存储模型文件,所以可以将项目、用户等存储为GridFS模型条目的元数据。然后可以一起查询“元数据”和GridFS。有关详细信息,请参阅本手册: