@Mozzart-live

Как грамотно спроектировать MongoDB?

Коллеги, доброго дня!

Встал вопрос о проектировании БД - список стран и городов. Использовать готовые API нет возможности, т.к. база будет собираться из кучи разных источников (api транспортных компаний).
Для решения задачи есть желание использовать MongoDB с содержанием субколлекций.
Пример:
{
country: "Россия",
regions: [
{
region: "Тюменская область",
cities: [
{city: "Тюмень", .....},
....
]
}
]
}

Обязательно планируем поиск по городам с автоподсказками.
Архитектура микросервисная.

Хочу услышать мнения касаемо выбора БД под задачу и реализации поиска.
Спасибо!
  • Вопрос задан
  • 386 просмотров
Пригласить эксперта
Ответы на вопрос 2
mannaro
@mannaro
Умею профессионально гуглить
ИМХО, я бы тут взял обычную реляционную БД.
Ответ написан
@Abcdefgk
В таких вложенных во вложения вложениях потом поиск по индексам не работает нопремер.
Надо "проектировать" так, чтобы было меньше вложений, но были отсылающие поля. Всё отдельными коллекциями.
Ну типа коллекция (модель) City
{
name: String,
region: String,
country: String
}
И потом, чтобы выбрать все города Чукотки, находящиеся в США, можно будет запросить просто:
City
  .find()
  .where('region', 'Чукотка')
  .where('country', 'США')
  .exec(...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы