1

我是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'?或者是否有任何反向关系的事情。(我不知道完美的术语,我是新手:/)

注意:可以在评论中提出更多问题。

4

1 回答 1

4

是的,需要定义反比关系。为此,您应该像这样创建架构,

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 有汽车,其中ownerCar 对象中的属性映射到这个人。car.owner给你 Person 对象,person.cars给你这个人拥有的所有汽车。

于 2018-05-31T17:12:10.230 回答