1

使用AngularFire時,如果「name」是唯一的,我只想將對象添加到我的angularFireCollection中。我的數據是結構化的,像這樣:在AngularFire中檢查數據的唯一性

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

例如,我希望驗證「布萊恩」是添加數據對象到客戶端列表之前的唯一名稱。我想要在Angular控制器中完成這個任務。實現這一目標的「角度方式」是什麼?

回答

2

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; 
     } 
    } 
    }); 
} 

希望這有助於!