Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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
Json 是否需要在MongoDB中追加字段-值对?_Json_Database_Mongodb_Nosql - Fatal编程技术网

Json 是否需要在MongoDB中追加字段-值对?

Json 是否需要在MongoDB中追加字段-值对?,json,database,mongodb,nosql,Json,Database,Mongodb,Nosql,这与MongoDB有关。我在同一个集合中定义了两个文档,如下所示。数据是相关的,但分布在两个文档中。从该集合中查询特定字段会有问题吗?还是我们应该创建一个文档,并在现有的类似于文档#3的“字段:值”对之外继续追加新的字段-值对 1. { “姓名”:“大卫”, “年龄”:30岁, “团队”:“ManU” } 2. { “性别”:“男性”, “职业”:“足球运动员” } 3. { “姓名”:“大卫”, “年龄”:30岁, “团队”:“ManU”, “性别”:“男性”, “职业”:“足球运动员”, “

这与MongoDB有关。我在同一个集合中定义了两个文档,如下所示。数据是相关的,但分布在两个文档中。从该集合中查询特定字段会有问题吗?还是我们应该创建一个文档,并在现有的类似于文档#3的“字段:值”对之外继续追加新的字段-值对

1. { “姓名”:“大卫”, “年龄”:30岁, “团队”:“ManU” }

2. { “性别”:“男性”, “职业”:“足球运动员” }

3. { “姓名”:“大卫”, “年龄”:30岁, “团队”:“ManU”, “性别”:“男性”, “职业”:“足球运动员”, “国家”:“英格兰”
}

MongoDB是在牢记此类用例的情况下创建的。在RDBMS中,我们有不同的表,这些表相互关联,并在其中存储特定的信息。因此,如果我们必须获得一些依赖于2个或更多表的信息,那么我们需要使用join。
在MongoDB中,我们将所有可能存储在一个文档中的信息存储在一起,这样我们就可以同时查询不同条件下的集合

在给定的示例中,如果您需要根据“年龄”大于25以及“职业”是足球运动员进行查询,那么最好将所有信息存储在单个文档中,因为我们将了解用户是否符合单个文档读取的条件。如果此信息存储在不同的文档中,则必须进行一些额外的计算,以验证用户是否已通过这两个文档中的条件

TL;DR=>在使用MongoDB时,最好在单个文档中存储尽可能多的相关信息。