В настоящее время я пытаюсь получить базу данных Realm для моего работающего приложения, но я не могу создать ссылку между двумя объектами.
Я могу выбрать объекты, я могу создать отдельные объекты, но я не могу связать два объекта вместе
Я следовал документации, в частности, я смотрю на создание Обратные отношения
class PersonSchema {
public static schema: Realm.ObjectSchema = {
name: 'Person',
primaryKey: 'id',
properties: {
id: 'string',
username: 'string',
dogs: 'Dog[]',
},
};
}
class DogSchema {
public static schema: Realm.ObjectSchema = {
name: 'Dog',
primaryKey: 'id',
properties: {
id: 'string',
name: 'string',
owner: {type: 'linkingObjects', objectType: 'Person', property: 'dogs'},
},
};
}
Я открываю свой Царство с обеими схемами
componentDidMount() {
Realm.open({
schema: [PersonSchema.schema, DogSchema.schema],
deleteRealmIfMigrationNeeded: true,
}).then(realm => {
this.setState({realm});
});
}
Одна вещь, которую я попробовал, была следующей:
createPerson = () => {
const id = uuid();
const personenName = 'Steve ' + id;
const realm = this.state.realm;
if (realm) {
realm.write(() => {
const dog = realm.create('Dog', {
id,
name: 'Bello ' + id,
});
const dogs = realm.objects('Dog');
const person = realm.create('Person', {
id,
username: personenName,
dogs: [],
});
const persons = realm.objects('Person');
person.dogs.push(dog);
});
}
};
Но я также пытался связать Пса с Человеком. Я попытался создать собаку и в этом призыве создать для него персона, и наоборот ... Все попытки выдают ошибку. Приведенный выше код просто замораживает приложение.
Как правильно связать два объекта вместе?
Для моего приложения я хочу связать материал с пользователем, чтобы я мог быстрее его найти.