Realm React Native:如何在某些条件下从对象的嵌套数组中删除元素
Realm React Native: How remove element from object's nested array with some condition
我是 React native 的新手,正在尝试将 Realm 集成为客户端数据库。
我有 2 个模式:
export const CAR_SCHEMA = {
name: 'Car',
properties: {
color: 'string',
model: 'string',
}
};
export const PERSONS_SCHEMA = {
name: 'Person',
primaryKey: 'id',
properties: {
id: 'int',
firstName: 'string',
lastName: 'string'
cars: 'Cars[]'
}
};
我的问题基本上是指如何从 'Person' 中删除 'Car',其中 Car.model='Honda'?我找不到任何关于从对象的嵌套数组中删除元素的文档。
从数组中删除但将项目保留在 Realm 中:
realm.write(() => {
let person = realm.objectForPrimaryKey('person', personId);
let carsOfPerson = person.cars;
var i = carsOfPerson.length - 1;
while(i >= 0) {
if(carsOfPerson[i].model == "Honda") {
carsOfPerson.splice(i, 1);
}
i--;
}
});
通过从 Realm 中删除项目从数组中删除:
realm.write(() => {
let person = realm.objectForPrimaryKey('person', personId);
let carsOfPerson = person.cars;
let hondasOfPerson = carsOfPerson.filtered('model = "HONDA"')
realm.delete(hondasOfPerson)
});
我是 React native 的新手,正在尝试将 Realm 集成为客户端数据库。 我有 2 个模式:
export const CAR_SCHEMA = {
name: 'Car',
properties: {
color: 'string',
model: 'string',
}
};
export const PERSONS_SCHEMA = {
name: 'Person',
primaryKey: 'id',
properties: {
id: 'int',
firstName: 'string',
lastName: 'string'
cars: 'Cars[]'
}
};
我的问题基本上是指如何从 'Person' 中删除 'Car',其中 Car.model='Honda'?我找不到任何关于从对象的嵌套数组中删除元素的文档。
从数组中删除但将项目保留在 Realm 中:
realm.write(() => {
let person = realm.objectForPrimaryKey('person', personId);
let carsOfPerson = person.cars;
var i = carsOfPerson.length - 1;
while(i >= 0) {
if(carsOfPerson[i].model == "Honda") {
carsOfPerson.splice(i, 1);
}
i--;
}
});
通过从 Realm 中删除项目从数组中删除:
realm.write(() => {
let person = realm.objectForPrimaryKey('person', personId);
let carsOfPerson = person.cars;
let hondasOfPerson = carsOfPerson.filtered('model = "HONDA"')
realm.delete(hondasOfPerson)
});