Angularjs 环回删除多个关系

Angularjs 环回删除多个关系,angularjs,loopbackjs,strongloop,loopback,Angularjs,Loopbackjs,Strongloop,Loopback,我试图从我的角度应用程序中破坏与模型链接的多个关系 在my person.json中,我有两种关系: "messageGroups": { "type": "hasMany", "model": "messageGroup" }, "messageStudents": { "type": "hasMany", "model": "messageStudent" } 这些很好用。 但是,我想在一次通话中删除一个人的多个m

我试图从我的角度应用程序中破坏与模型链接的多个关系

在my person.json中,我有两种关系:

  "messageGroups": {
      "type": "hasMany",
      "model": "messageGroup"
    },
    "messageStudents": {
      "type": "hasMany",
      "model": "messageStudent"
    }
这些很好用。 但是,我想在一次通话中删除一个人的多个messageGroups和messageStudents。而不是多次调用Person.messageGroups.destroyById(…)和Person.messageStudents.destroyById(…)

我最初的想法是在person.js文件中创建一个远程方法,该方法接受personId和包含messageGroups和messageStudents ID的对象

但我无法编写工作代码。 我的最后一次尝试如下所示:

Person.destroyTargetsFromMessage = function (personId, assignees, callback) {
        for(var i in assignees.studentIds){
            Person.messageStudents.destroyById({'id': personId, 'fk': assignees.studentIds[i]});
        }
        for(var i in assignees.groupIds){
            Person.messageGroups.destroyById({'id': personId, 'fk': assignees.groupIds[i]});
        }
        callback();
    };
或者正确的方法是使用对我的API的多次调用吗

更新

我编写了这段代码,使我更接近我的目标:

Person.destroyTargetsFromMessage = function (personId, assignees, callback) {
        Person.findById(teacherId, function(err, targetPerson){
            for(var i in assignees.studentIds){
                targetPerson.messageStudents.findById(assignees.studentIds[i], function(err, student){
                    callback(null, student);
                    console.log(student);
                });
            }
            for(var i in assignees.groupIds){
                targetPerson.messageGroups.findById(assignees.groupIds[i], function(err, group){
                    callback(null, group);
                    console.log(group);
                });
            }
            callback();
        });
};
唯一的问题是我不能在我的targetPerson关系上调用destroyById,但findById似乎工作得很好

已解决


删除我的关系的方法是
destroy
,而不是
destroyById

删除我的关系的方法是
destroy
,不是
destroyById

当您运行remoteMethod时会发生什么?我想您可以通过运行
$debug=strong remoting:remotes节点来获得更多调试细节。
但是我不在我的家用计算机上检查。另外,我认为您需要参考其他模型,如:
app.models.MessageStudent.destroyById
我遇到的错误接收是“无法调用未定义的'destroyById'方法”。然后
blah中的
blah
。destroyById
确实未定义,继续并将该行粘贴到此处,我认为@conradj建议可以编辑该行