несогласованная структура данных - PullRequest
0 голосов
/ 19 февраля 2019

Я новичок в nosql (MongoDB), поэтому будьте осторожны со мной.

Я собираю json-ld с различных веб-страниц и хочу сохранить / вызвать данные.Однако типы значений постоянно меняются.Например, иногда поле «автор» использует тип «организация», иногда это тип «человек», иногда это просто строка, а иногда просто отсутствует.

Должен ли я преобразовать данные в какой-то типстандарт?Каждый объект должен быть помещен в его собственную коллекцию и на него есть ссылки?Как вы справляетесь с тем, что дисплеи различны.

Ищете слова опыта или ссылки на хорошие статьи о том, как бороться с непоследовательной структурой данных.

1 Ответ

0 голосов
/ 24 февраля 2019

Весь смысл базы данных No-Sql в том, что ее схема меньше, и структура может варьироваться от документа к другому, поэтому я не вижу здесь никаких проблем.

Я думаю, что вы спрашиваете, как вы должныразобраться с этим в бизнес-логике вашего приложения, поэтому вот мое предложение:

Вы можете сохранить автора как встроенный поддокумент, который всегда имеет поле с именем «type» (как перечисление значений: String,Человек, организация и т. Д.) И действовать соответствующим образом при получении данных.

Например, если автор является просто строкой, то документ будет выглядеть примерно так:

{
…,
 “author”: {
    “type”: “String”,
    “text”: <text>
 }
}

Если его тип Person, то:

{
…,
 “author”: {
    “type”: “Person”,
    “first_name”: <first name>,
    “last_name”: <last name> 
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...