使用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;
}
}
});
}
希望这对你有帮助!