【发布时间】:2016-12-17 05:15:24
【问题描述】:
我有这两个模型:
学生
{
"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 "})
我做错了什么?
更新
在 embedsMany 中删除
在测试中更新 id。
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
更新
添加了一个db的例子
{
"_id": "value",
"property1": "value",
.
.
"mytest": [
{
"text": "something",
"creation": {
"$date": "2016-08-23T14:31:44.678Z"
},
"id": "d738253472876b17feb4b46b"
}
]
}
【问题讨论】:
标签: javascript loopbackjs strongloop