Как собрать данные из нескольких схем?- Царство - PullRequest
0 голосов
/ 31 мая 2018

Я новичок в Realm базе данных, это удивительно, и у меня мало сомнений в отношении отношений.Вместо того, чтобы задавать каждое сомнение, я предпочитаю понять это на примере.Ниже приведен образец schema, скопированный из области javascript документы.

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 Ответ

0 голосов
/ 31 мая 2018

Да, есть обратные отношения, которые необходимо определить.Для этого вы должны создать схему, подобную этой,

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?' 
  } 
};

Здесь у Person есть автомобили, в которых свойство owner в объекте Car сопоставлено с этим человеком.car.owner дает вам объект Person, а person.cars - все автомобили, которыми владеет этот человек.

...