如何在angularfire 0.8.2中删除相关记录

时间:2014-09-25 14:13:09

标签: javascript firebase angularfire

我想知道如何删除与另一个字段相关的firebase记录字段。

$scope["delete"] = function(id) {
  $scope.clubs = fbutil.syncArray("club");
  $scope.clubs.$remove(item);
  $scope.removeClubUser = fbutil.syncArray("clubuser/" + id + "/" + user.uid);
  $scope.removeClubUsers.$remove(user.uid);
  $scope.removeUserClub = fbutil.syncArray("userclub/" + user.uid + "/" + id);
  $scope.removeUserClub.$remove(id);
};

现在我不知道这种循环结构是否是最好的方法,但是我可以随时跟踪哪个用户在哪个俱乐部给予用户和俱乐部ID $ scope.clubs。$ remove按预期工作,但removeClubUser和removeUserClub没有。 为什么会这样,它会如何运作? 谢谢Sven

1 个答案:

答案 0 :(得分:1)

感谢kato向我指出$ keyAt数组中的索引确实提供了必要的id,以便能够找到记录的确切位置。 这是我如何删除所有依赖记录。

$scope["delete"] = function(index) {

  $scope.clubs = fbutil.syncArray("club");
  $scope.clubs.$remove(index);

  var id = $scope.clubs.$keyAt(index);

  $scope.removeClubUser = fbutil.ref("clubuser/" + id + "/" + user.uid);
  $scope.removeClubUser.remove();

  $scope.removeUserClub = fbutil.ref("userclub/" + user.uid + "/" + id);
  $scope.removeUserClub.remove();
};