Я очень смущен здесь. Я передаю объект с именем ScheduleAdd и использую insertAt для ввода этого объекта в массив с именем «расписания», который существует в каждом документе в таблице «учителя». Переосмысление выдает ошибку «Вставленное значение должно быть ОБЪЕКТОМ (получено МАССИВ)». Он показывает мне массив, состоящий из моего переданного объекта с квадратными скобками вокруг него.
Код:
var scheduleAdd = {};
scheduleAdd.schedule = name;
scheduleAdd.visible = 'yes';
console.log(scheduleAdd);
r.db('test').table('teachers').update(function(teacher) {return teacher('schedules').insertAt(0,scheduleAdd)}).run(connection, function(err, result) {
if (err) throw err;
;
console.log('updated teacher schedules');
console.log(result);
});
});
В качестве примера я мог бы передать объект:
{ schedule: 'weekend', visible: 'yes' }
В console.log подтверждается, что объект сформирован правильно. Однако Rethink выдаст ошибку:
'Inserted value must be an OBJECT (got ARRAY):\n["{\\n \\"schedule\\": \\"weekend\\",\\n \\"visible\\": \\"yes\\"\\n}"]',
Любая идея, почему мой объект преобразуется в массив и как я могу предотвратить это? Спасибо!