提问者:小点点

如何在mongo db中建立父子模式并检索数据


需要帮助设计和从MongoDB获取数据,需要创建一个类别模式,其中每个类别可以有多个子类别,每个子类别可以有进一步的子类别等等,所以如果在MySQL中我已经设计了它,那么我可以像下面这样设计它

category table
id name parent_id

因此,正如您所看到的,parent_id将是category id的主键,等等,无论有多少子项都可以在其中处理,但是我不知道如何在mongo模式中这样做,因为我是这个db中的新手,并且在制作了模式之后,我如何获取具有there子项和there子项的类别。


共1个答案

匿名用户

有多种方法可以实现这一点,但如果您想使用嵌入,则要保持简单,如果您的类别文档具有有限的子级和子级,则最好使用嵌入。

{
    _id: ObjectId("507f1f77bcf86cd799439011"),
    name: 'adsfa',
    childCategories: [
      {
          name: 'asefda',
          childCategories: [
             {
                name: 'afsd',
             },
          ],
      },
    ],
}

至于查询数据,您只需查询父文档_id,它将返回包含子文档和所有子子类别的整个文档。请注意,如果您的子级和子级类别的数量很大,则此模式可能并不总是对您有好处。在这种情况下,您可以考虑重新塑造模式以利用引用