2016-07-06 1 views
1

Я пытаюсь создать базу данных Realm, которая имеет массив json объектов с вложенным массивом объектов.Как добавить вложенный список объектов в Realm «Ошибка: значение JS должно быть типа: object»

Когда я пытаюсь добавить код, я всегда получаю ошибку: значение JS должно быть типа: object.

Schemas:

import Realm from 'realm'; 

class Exercise extends Realm.Object { 
} 
Exercise.schema = { 
    name: 'Exercise', 
    primaryKey: 'id', 
    properties: { 
     id: 'int', 
     name: 'string', 
     category: 'string', 
     bodyPart: 'string', 
     levels: {type: 'list', objectType: 'Level'} 
    } 
}; 

class Level extends Realm.Object { 
} 
Level.schema = { 
    name: 'Level', 
    properties: { 
     level: 'int', 
     equipments: 'string' 
    } 
}; 

export default new Realm({schema: [Exercise, Level, Multiplier]}); 

и метод, где я пытаюсь создать базу данных:

realm.write(() => { 
     let exercise = realm.create('Exercise', { 
      id: 209, 
      name: 'Dumbbell Overhead Press', 
      category: 'Military Press', 
      bodyPart: 'Shoulder' 
     }, true); 

     exercise.levels.push({ 
      level: 3, 
      equipments: 'DB' 
     }); 

    }); 

Я пытался всеми возможными способами, помещая массив непосредственно в создании упражнения и т.д., Я не имел никакого успеха ..

Приветствия

ответ

1

U должны указать ин dex записи. Как exercise. возвращает запрошенную запись не является объектом упражнения

попробовать это вместо

realm.write(() => { 
    let exercise = realm.create('Exercise', { 
     id: 209, 
     name: 'Dumbbell Overhead Press', 
     category: 'Military Press', 
     bodyPart: 'Shoulder' 
    }, true); 
    exercise[0].levels.push({ 
     level: 3, 
     equipments: 'DB' 
    }); 

}); 
+1

Спасибо за помощь, я пошел другой путь в моем проекте, так что я не могу испытание, если он работает или нет, но я ценю ваше время –

+0

если возможно, вы можете проверить его для себя и отметить его как правильный ответ –

Смежные вопросы