У меня есть эти две модели:методы Loopback embedsMany Helper не работают
Student
{
"name": "student",
"plural": "students",
"base": "User",
"idInjection": false,
"options": {
"validateUpsert": true
},
"relations": {
"test": {
"type": "embedsMany",
"model": "test",
"property": "mytest",
"options": {
"validate": true,
"forceId": false
}
}
}
и
Тест
{
"name": "test",
"base": "Model",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"text": {
"type": "string",
"required": true
}
}
}
Когда я пытаюсь создайте новый тест, который я получаю эта ошибка
Error: Invalid reference: undefined
Я создаю тест таким образом:
Student.js
studentInstance.test.add({text : "something "})
Что я делаю неправильно?
Update
Удалить в embedsMany
идентификатор обновления в тесте.
Student.js
Student.show = function(email, cb) {
Student.findById(email,function(err, student) {
...
var tmp = student.mytest;
for (var i = 0; i < tmp.length; i++) {
student.test.destroy(tmp[i].id);
}
})
...
}
Я попытался с
destroy
не работает правильно, не всегда удалить данные
и
remove
показать эту ошибку
Error: Invalid reference: undefined
at EmbedsMany.remove
Update
Добавлен пример дб
{
"_id": "value",
"property1": "value",
.
.
"mytest": [
{
"text": "something",
"creation": {
"$date": "2016-08-23T14:31:44.678Z"
},
"id": "d738253472876b17feb4b46b"
}
]
}
Спасибо за ответ. это не ошибка. У меня неправильная копия/вставка. В проекте имена одобрены. – Phan
@Phan Ah, я обновил свой ответ –
Спасибо этой работе.Теперь у меня такая же проблема для удаления теста, который я пробовал с помощью 'remove',' unset' и 'destroyById' – Phan