如何从多个模式中收集数据? - 境界

How to collect data from multiple schemas ? - Realm

我是 Realm 数据库的新手,这太棒了,我对关系的事情几乎没有怀疑。与其一一提出疑问,我更愿意通过一个例子来理解它。下面给出了从领域 javascript 文档中复制的示例 schema

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) 我应该给 propertyCar 架构,比如 owner: 'Person' 吗? 或者是否有任何反向关系的东西。 (我不知道完美的术语,我是新手 :/ )

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

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

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 has cars Car对象中的owner 属性被映射到这个人。 car.owner 为您提供 Person 对象,person.cars 为您提供此人拥有的所有汽车。