我是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'
吗?
还是有任何反向关系的事情。 (我不知道完美的术语,我是新手:/)
注意:可以在评论中提出进一步的问题。
答案 0 :(得分:2)
是的,要定义反向关系。为此你应该创建这样的架构,
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有汽车,其中Car对象中的owner
属性被映射到此人。 car.owner
为您提供了Person对象,person.cars
为您提供了该人拥有的所有汽车。