需要帮助设计和从MongoDB获取数据,需要创建一个类别模式,其中每个类别可以有多个子类别,每个子类别可以有进一步的子类别等等,所以如果在MySQL中我已经设计了它,那么我可以像下面这样设计它
category table
id name parent_id
因此,正如您所看到的,parent_id将是category id的主键,等等,无论有多少子项都可以在其中处理,但是我不知道如何在mongo模式中这样做,因为我是这个db中的新手,并且在制作了模式之后,我如何获取具有there子项和there子项的类别。
有多种方法可以实现这一点,但如果您想使用嵌入,则要保持简单,如果您的类别文档具有有限的子级和子级,则最好使用嵌入。
{
_id: ObjectId("507f1f77bcf86cd799439011"),
name: 'adsfa',
childCategories: [
{
name: 'asefda',
childCategories: [
{
name: 'afsd',
},
],
},
],
}
至于查询数据,您只需查询父文档_id
,它将返回包含子文档和所有子子类别的整个文档。请注意,如果您的子级和子级类别的数量很大,则此模式可能并不总是对您有好处。在这种情况下,您可以考虑重新塑造模式以利用引用