Наилучшая возможная схема для базы данных MongoDB со встроенным документом, содержащим списки - PullRequest
0 голосов
/ 09 февраля 2020

В настоящее время я открываю MongoDB и, насколько я понимаю, кажется, что есть несколько способов создать схему в соответствии с вариантом использования. Я построил схему со встроенным документом, но я действительно не уверен, что это лучшая модель.

С одной стороны, у меня есть файл Excel, содержащий различную информацию о сайтах завода, которую я сохранил ( используя mongoengine в python) в DynamicDocument [Sites]:

enter image description here

С другой стороны, у меня есть куча CSV-файлов, содержащих записанные значения для каждого сайта, который я импортирую и сохраните в Document [Details], который встроен в поле «DETAILS» вышеупомянутого DynamicDocument [Sites].

enter image description here

Я решил создать поля списка в [Подробно], учитывая, что существуют тысячи значений; но я действительно не уверен, что это лучший подход, так как в настоящее время я не могу найти способ выполнения агрегированных запросов.

Например, если я хочу получить все, что является Sites.INDUSTRY = 'Коммерческая недвижимость', следующее прекрасно работает:

enter image description here

но как можно Я получаю среднее значение поля «значение» для всех INDUSTRY = 'Commercial Property'? это возможно с моей схемой или я должен использовать другую структуру?

1 Ответ

0 голосов
/ 01 марта 2020

После нескольких исследований я нашел следующее относительно временного ряда и пн go дБ: https://www.mongodb.com/blog/post/time-series-data-and-mongodb-part-2-schema-design-best-practices

...