Как собрать данные из нескольких схем? - Царство

Я новичок в 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 дать вам все машины, которыми владеет человек.

Другие вопросы по тегам