尝试将新的int推入int领域列表。我可以获取领域对象,可以打印它,当我打印对象时,它显示了其内容的列表,我可以使用Realm Studio进行编辑,将数字添加到列表等。但是,当我尝试调用任何方法时形成列表,说它不确定。
尝试了异步,等待着,尽管这是一个同步问题,但看起来不像。
下面的代码类似于我的代码,但编辑以隐藏原始名称等,并且没有原始的所有属性,但是它不会改变我要编辑的特定列表的行为。其他一切都很好。我有一个像
这样的架构let mySchema={
name:'MySchema',
properties:{
my_schema_id: 'string',
numbers: 'int[]'
}
创建新对象的功能是
Realm.open({schema: [mySchema]})
.then(realm => {
realm.write(() => {
realm.create('MySchema', {my_schema_id: `${my_schema_id}`, numbers: [parseInt(number, 10)]});
});
我尝试添加一个数字:
Realm.open({schema: [mySchema]})
.then((realm) => {
let fetchedSchema = realm.objects('MySchema').filtered(`my_schema_id ="${my_schema_id}"`);
console.log(fetchedSchema);
realm.write(()=>{
fetchedSchema.numbers.push(parseInt(number, 10));
});
,它给出了一个错误:
(node:73249) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'length' of undefined
我希望将项目推入列表,或者能够调用列表功能。相反,当我尝试使用列表时,它显示为undefined
,即使我可以看到它,并且在打印对象时是内容...
找到了一个解决方案。查询 let fetchedSchema = realm.objects('MySchema').filtered(
my_schema_id =" $ {my_schema_id}" );
实际上返回元素数组,所以我只需要在末端选择 [0]
的第一个