在AngularFire中检查数据唯一性

Checking for data uniqueness in AngularFire

本文关键字:数据 唯一性 检查 AngularFire      更新时间:2023-09-26

使用AngularFire,我想添加一个对象到我的angularfirecareonly,如果"name"是唯一的。我的数据结构如下:

- ClientList
    - dsk32923k   <-Random unique ID created by AngularFire
        - name : Brian
        - birthday : 3/9/82
          ...
    - skjdsjkl3  
        - name : John
        - birthday : 6/3/90
          ...

例如,我希望在将数据对象添加到ClientList之前验证"Brian"是唯一名称。我希望这能在Angular控制器中完成。实现这一目标的"Angular方式"是什么?

对于angularFireCollection,如果不遍历所有条目以检查重复项,则很难做到这一点。使用angularFire并使用名称作为唯一键可能更容易:

function MyController($scope, angularFire) {
  var url = "https://<my-firebase>.firebaseio.com/ClientList";
  var promise = angularFire(url, $scope, "users", {});
  promise.then(function() {
    $scope.addUser = function(user) {
      if ($scope.users[user.name]) {
        throw new Error("User already exists!");
      } else {
        $scope.users[name] = user;
      }
    }
  });
}

希望这对你有帮助!