Иерархия категорий в mongodb - PullRequest
0 голосов
/ 14 мая 2019

Моя структура документа выглядит следующим образом:

[
    {
      "_id": ObjectId("54d81827e4a4449d023b4e34"),
      "name": "Refridgerator",
      "parent": null,
      "slug": "refridgerator"
    },
    {
        "_id": ObjectId("54d818227e4a4449d023b4e34"),
        "name": "Generator",
        "parent": null,
        "slug": "generator",
    },
    {
        "_id": ObjectId("54dc38bcse4a4449d023b4e58"),
        "name": "Bolt",
        "slug": "bolt",
        "parent": ObjectId("54d818227e4a4449d023b4e34")
    },
    {
      "_id": ObjectId("54dc38bce4a4449d023b4e58"),
      "name": "Ice Cream",
      "slug": "ice-cream",
      "parent": ObjectId("54d81827e4a4449d023b4e34")
    },
    {
      "_id": ObjectId("54dc3705e4a4449d023b4e56"),
      "name": "Chocolate",
      "slug": "chocolate",
      "parent": ObjectId("54d81827e4a4449d023b4e34")
    },
    {
        "_id": ObjectId("54dc38bce4a4449d023b4e68"),
        "name": "Mango Cream",
        "slug": "mango-cream",
        "parent": ObjectId("54dc38bce4a4449d023b4e58")
    },
    {
        "_id": ObjectId("54dc38bc74a4449d023b4e68"),
        "name": "Mango Cream Cream",
        "slug": "mango-cream-cream",
        "parent": ObjectId("54dc38bce4a4449d023b4e68")
    },
  ]

Я создаю иерархию категорий, используя mongodb и аналогичные отношения между родителями и детьми. Категория 4 уровня.

Теперь я хочу запросить _id = ‘54d81827e4a4449d023b4e34’ и должен вернуть все дочерние категории.

Я не могу структурировать JSON с отношениями родитель-ребенок.

В предыдущем заданном вопросе не выводится требуемый результат.

Ожидаемый результат:

    [
    {
      "_id": ObjectId("54d81827e4a4449d023b4e34"),
      "name": "Refridgerator",
      "parent": null,
      "slug": "refridgerator",
      "subCategory": [
        {
          "_id": ObjectId("54dc3705e4a4449d023b4e56"),
          "name": "Chocolate",
          "parent": ObjectId("54d81827e4a4449d023b4e34"),
          "slug": "chocolate"
        },
        {
          "_id": ObjectId("54dc38bce4a4449d023b4e58"),
          "name": "Ice Cream",
          "parent": ObjectId("54d81827e4a4449d023b4e34"),
          "slug": "ice-cream",
          'subsubcategory':[
            {
                "_id": ObjectId("54dc38bce4a4449d023b4e68"),
                "name": "Mango Cream",
                "slug": "mango-cream",
                "parent": ObjectId("54dc38bce4a4449d023b4e58"),
                'subsubsubcategory':[
                    {
                        "_id": ObjectId("54dc38bc74a4449d023b4e68"),
                        "name": "Mango Cream Cream",
                        "slug": "mango-cream-cream",
                        "parent": ObjectId("54dc38bce4a4449d023b4e68")
                    },
                  ]
            }
          ]
        }
      ]
    },
    {
        "_id": ObjectId("54d818227e4a4449d023b4e34"),
        "name": "Generator",
        "parent": null,
        "slug": "generator",
        "subCategory": [
          {
            "_id": ObjectId("54dc38bcse4a4449d023b4e58"),
            "name": "Bolt",
            "slug": "bolt",
            "parent": ObjectId("54d818227e4a4449d023b4e34")
          },
        ]
    }
  ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...