使用AngularFire,如果“name”是唯一的,我想仅在angularFireCollection中添加一个对象。我的数据结构如下:
- ClientList
- dsk32923k <-Random unique ID created by AngularFire
- name : Brian
- birthday : 3/9/82
...
- skjdsjkl3
- name : John
- birthday : 6/3/90
...
例如,我希望在将数据对象添加到ClientList之前验证“Brian”是唯一的名称。我想在Angular控制器中完成这个。实现这一目标的“角度方式”是什么?
答案 0 :(得分: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;
}
}
});
}
希望这有帮助!