Хобрук: Ваш путь к мастерству в программировании

Данные временных рядов в Cloudant или MongoDB

Проект бронирования конференц-залов потребует постоянного добавления данных для разных конференц-залов для разных временных интервалов дня. Я пытаюсь использовать для этой цели Nosql DB (cloudant или Mongo), но я не понимаю, как структурировать данные/документ JSON. Должен ли я иметь один документ для каждой комнаты для совещаний, как показано ниже?

{
name:"room A",
bookings: [
  {start:"10:00 AM", end:"12:00 AM", user:"Ram Sen"},
  {start:"08:00 AM", end:"09:00 AM", user:"Sam Roy"},
  {start:"01:00 PM", end:"3:00 PM", user:"Jadu Dey"}
]
}

и так далее?

03.05.2016

Ответы:


1

В mongoDB размер одного документа ограничен. Магазины документов специализируются на огромном количестве документов. Поэтому я думаю, что было бы лучше создать документ со всеми конференц-залами и один документ для каждого бронирования. Вы можете обратиться к конференц-залу внутри документа бронирования.

Например:

{
  _id: generated ID
  rooms: [
    {_id:"1", name:"room1"},
    {_id:"2", name:"room2"},
    {_id:"3", name:"room3"},
  ]
}

{
  _id: generated ID
  name: "meeting",
  room: "1",
  start: "10:00 AM",
  end: "12:00 AM",
  user: [
    {name: "ron"},
    {name: "john"}
  ]
}
03.05.2016
Новые материалы

Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

Как настроить Selenium в проекте Angular
Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

Аргументы прогрессивного улучшения почти всегда упускают суть
В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

Введение в Джанго Фреймворк
Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..

Настольный ПК как «одно кольцо, чтобы править всеми» домашних компьютеров
Вид после 9 месяцев использования С настольных компьютеров все началось, но в какой-то момент они стали «серверами», и мы все перешли на ноутбуки. В прошлом году я столкнулся с идеей настольных..

Расширенные методы безопасности для VueJS: реализация аутентификации без пароля
Руководство, которое поможет вам создавать безопасные приложения в долгосрочной перспективе Безопасность приложений часто упускается из виду в процессе разработки, потому что основная..

стройный-i18следующий
Представляем стройную оболочку для i18next. Эта библиотека, основанная на i18next, заключает экземпляр i18next в хранилище svelte и отслеживает события i18next, такие как languageChanged,..