Как собрать данные из нескольких схем? - Царство
Я новичок в Realm
база данных, это удивительно, и у меня мало сомнений по поводу отношений. Вместо того, чтобы задавать каждое сомнение, я предпочитаю понять это на примере. Ниже приведен образец schema
скопировано из царства javascript
Docs.
const CarSchema = {
name: 'Car',
properties: {
make: 'string',
model: 'string',
miles: {type: 'int', default: 0},
}
};
const PersonSchema = {
name: 'Person',
properties: {
name: 'string',
birthday: 'date',
cars: 'Car[]'
picture: 'data?', // optional property
}
};
Теперь вопросы...
1) Как я могу получить список лиц, которым принадлежит конкретный автомобиль из приведенной выше схемы?
2) Должен ли я дать property
в Car
схема, как owner: 'Person'
? или есть какая-то вещь обратного отношения. (Я не знаю идеальный термин, я новичок:/)
ПРИМЕЧАНИЕ: дополнительные вопросы можно задать в комментариях.
1 ответ
Да, есть обратные отношения, которые будут определены. Для этого вы должны создать такую схему,
const CarSchema = {
name: 'Car',
properties: {
make: 'string',
model: 'string',
miles: {type: 'int', default: 0},
owner: 'Person'
}
};
const PersonSchema = {
name: 'Person',
properties: {
name: 'string',
birthday: 'date',
cars: {type: 'linkingObjects', objectType: 'Car', property: 'owner'}
picture: 'data?'
}
};
Здесь у человека есть машины, где owner
собственность в объекте Car отображается на это лицо. car.owner
дает вам объект Person и person.cars
дать вам все машины, которыми владеет человек.