Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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/0/react-native/7.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中引用多个父项_Mongodb - Fatal编程技术网

在mongodb中引用多个父项

在mongodb中引用多个父项,mongodb,Mongodb,我正在寻找有关如何在mongodb中建模树结构或层次结构的帮助;然而,我有一个问题,父母有多个孩子,孩子有多个父母 例如,在电子商务网站目录中,智能手机可以出现在电子、计算机或通信领域。所以,这里有3位家长支持智能手机 如何为目录建立mongodb模型?在这种情况下,“电子”、“计算机”和“通信”将不是“家长”。它们听起来像分类。通常将类别/标记存储在嵌套数组中;因此,您的文档看起来与此类似: { brand: "Microsoft", model: "Lumia 950 XL"

我正在寻找有关如何在mongodb中建模树结构或层次结构的帮助;然而,我有一个问题,父母有多个孩子,孩子有多个父母

例如,在电子商务网站目录中,智能手机可以出现在电子、计算机或通信领域。所以,这里有3位家长支持智能手机

如何为目录建立mongodb模型?

在这种情况下,“电子”、“计算机”和“通信”将不是“家长”。它们听起来像分类。通常将类别/标记存储在嵌套数组中;因此,您的文档看起来与此类似:

{
    brand: "Microsoft",
    model: "Lumia 950 XL",
    categories: ["electronics", "computers", "communications"]
}
您可以根据类别筛选产品:

db.products.find({ categories: "electronics" }).
只需在
类别中添加一个索引即可帮助提高性能。

在这种情况下,“电子”、“计算机”和“通信”将不是“家长”。它们听起来像分类。通常将类别/标记存储在嵌套数组中;因此,您的文档看起来与此类似:

{
    brand: "Microsoft",
    model: "Lumia 950 XL",
    categories: ["electronics", "computers", "communications"]
}
您可以根据类别筛选产品:

db.products.find({ categories: "electronics" }).

只需在
类别上添加一个索引
,即可提高性能。

谢谢您,Dmytro。让我以这种方式对数据库建模,并检查这是否适用于查询。我不是这么想的。谢谢。我有了这个概念,我该如何使用path?@kathi你是说类别层次结构吗?如果我按照你当时的建议使用类别,我会发现Microsoft在电子、计算机和通信领域都可用;然而,若我想找到电子产品,看看微软是否在电子产品中列出,那个么查询将是昂贵的,因为我必须找到微软,然后查看电子产品的类别。这和使用父属性构建树结构是一样的。我是MongoDB的新手,我读了关于设计模式的优缺点的帖子-。在我的例子中,若用户选择电子产品,他必须找到微软的上市公司;如果他去computes,他必须找到微软的上市公司。用户从树的顶部到底部进行遍历。谢谢Dmytro。让我以这种方式对数据库建模,并检查这是否适用于查询。我不是这么想的。谢谢。我有了这个概念,我该如何使用path?@kathi你是说类别层次结构吗?如果我按照你当时的建议使用类别,我会发现Microsoft在电子、计算机和通信领域都可用;然而,若我想找到电子产品,看看微软是否在电子产品中列出,那个么查询将是昂贵的,因为我必须找到微软,然后查看电子产品的类别。这和使用父属性构建树结构是一样的。我是MongoDB的新手,我读了关于设计模式的优缺点的帖子-。在我的例子中,若用户选择电子产品,他必须找到微软的上市公司;如果他去computes,他必须找到微软的上市公司。用户从树的顶部到底部遍历。