2016-02-09 5 views
0

В моей базе данных pouchdb у меня есть два разных типа документов.PouchDB и связанные документы

Тип 1:

{ 
    class : example, 
    type : one 
} 

Тип 2:

{ 
    surname : Lancester, 
    forename : Burt, 
    class : 'id of related doc of type 1', 
    type : two 
} 

Сейчас я ищу способ, чтобы получить представление, как это (или аналогичный):

{ 
    surname : Lancester, 
    forename : Burt, 
    classname : { class : example } - or only class : example 
} 

Я совершенно новый с pouchDB, и я не могу найти правильный путь на данный момент. Можете ли вы мне помочь, пожалуйста? Заранее спасибо!

+0

Я верю, что вы хотите присоединиться к двум документам и создать новый. Джойны не поддерживаются. Почему вы не используете последний тип класса для хранения данных? –

+0

Я знаю, что я ищу, как объединение. Но когда я храню данные в документах типа два, я должен вносить изменения в разных местах. То есть, чего я пытаюсь избежать. – user2836375

ответ

0

Вы можете хранить документы типа 1 с идентификатором c1_? где ? это уникальный идентификатор (не нужно для типа :).

Тогда для 2-го типа документов использует идентификатор начиная c2_

Предполагая, что у вас уже есть тип 1 документы создали вы можете представить список из них, то есть всего типа C1_ при создании документа типа 2, а затем назначить выбранный тип 1 id как класс. Конечно, вам нужно искать фактические данные каждый раз, когда вы хотите просмотреть его.

В качестве альтернативы вы можете хранить весь документ типа 1 с или без его идентификатора (и другой информации, такой как _rev), в качестве объекта в документе типа 2.

Все зависит от того, хотите ли вы, чтобы данные типа 1 были статическими или динамическими, и насколько эффективно вы хотите, чтобы хранилище данных являлось, то есть нормализацией данных.