Настройка для этого вопроса немного сложна, пожалуйста, не стесняйтесь :)Как объединить строки БД в документ?
Мой сценарий - перенос данных из формы реляционной таблицы в форму сбора документов («ETL»). Мои исходные данные представлены в реляционной таблице, где каждая строка описывает «Лицо» и один из его «Адресов». (Естественно, эта таблица не нормирована).
Упрощенный пример будет:
PersonId PersonName AddressId AddressText
1 John Doe 1 Somewhere
1 John Doe 2 Elsewhere
2 Jane Doe 3 Some other place
Чтобы усложнить ситуацию, некоторые строки могут обновить предыдущие существующие значения. Пример:
PersonId PersonName AddressId AddressText
1 John Doe 1 A new address
Я хотел бы перенести эти данные в коллекцию документов в документе хранилище (БД) для быстрого поиска конкретного лица субъектов со всеми связанными с ними адресами. Для начала я рассматриваю один документ на одного человека, например, так:
{
"id":"1",
"addresses":[
{
"id":"1",
"text":"A new address"
},
{
"id":"2",
"text":"Elsewhere"
}
]
}
Мой вопрос: Что такое лучший способ объединить строки таблицы в документ?
Лучше всего использовать хранилище документов, которое поддерживает частичные обновления (MongoDB, RavenDB) и использовать эту функцию?
Или, может быть, я должен извлечь документ целиком из документа DB, обновить его на своем уровне бизнес-логики и сохранить его обратно в БД?
Или я должен стремиться к другому представлению данных документа в целом?
«Слияние строк в документ» означает, что вы хотите перенести данные из реляционной базы данных в документ db, или вам просто интересно, как это сделать? –
@Jaynard хороший вопрос.Сценарий - это действительно миграция данных - ежедневный запланированный процесс ETL. Я также уточню свой вопрос с этой детализацией. – urig
Вы разрешили это? – datasci