LINUX.ORG.RU

Сообщения redAutumn

 

MongoDB. Как выполнить запрос?

Форум — Development

Недавно приступил к изучению MongoDB и я не могу понять как правильно выполнить запрос, чтобы найти необходимый документ. У меня есть коллекция, которая содержит документы с такой структурой:

// "полуный путь: корневая-категория/родительская-категория/имя-категории"
сategory = {
  _id: new ObjectId(),
  slug: "имя-категории",
  ancestors: [{
    name: "Корневая категория",
    _id: new ObjectId(),
    slug: "корневая-категория"
  },
  {
    name: "Родительсяка категория",
    _id: new ObjectId(),
    slug: "родительская-категория"
  }],
  parentId: new ObjectId(),

  name: "Имя этой категории",
  description: "Описание этой категории"
}
slug - документа НЕ является уникальным. Допустим, есть подкатегория «сувениры/куклы», а есть «игрушки/куклы». Поэтому когда приходит запрос «аксессуары/волосы/заколки», нужно найти документ, у которого первый ancestor будет «аксессуары», второй ancestor «волосы», третий «заколки». Не могу понять, как выполнить поиск такого документа, если вообще за один запрос к БД такой поиск можно выполнить. Буду очень благодарен за помощь. п.с. пример, конечно, несколько надуманный, но суть от этого не меняется.

 ,

redAutumn
()

RSS подписка на новые темы