我可以使用以下内容将对象添加到Firebase数据存储中:
var uniqueId = { name: "a name", location: "new york" } $scope.myItems.$add(uniqueId).then(function(firebaseId){ // do something on success }, function(){ // do something if call fails });
上面的代码会将一个对象添加到我的数据存储中,如果添加成功,则返回由Firebase生成的ID。我刚刚添加的对象保存在此键下。
当我添加到数据存储区时,是否可以指定密钥名称?
以以下URL为例。
https://myapp.firebaseio.com/users/
假设我们要在此位置创建一个键为1的用户作为孩子。我们的网址如下所示。
https://myapp.firebaseio.com/users/1
要使用AngularFire创建用户,我们可以在用户节点上创建引用,然后调用$ child(1)创建对该位置的引用。
var usersRef = new Firebase('https://myapp.firebaseio.com/users'); var userRef = new Firebase('https://myapp.firebaseio.com/user/1'); $scope.users = $firebase(usersRef); // these are the same $scope.userOne = $firebase(userRef); $scope.userOne = $scope.users.$child(1);
然后,我们可以用来$set在该位置存储用户的价值。
$set
var usersRef = new Firebase('https://myapp.firebaseio.com/users'); $scope.users = $firebase(usersRef); $scope.users.$child(1).set({ first: 'Vincent', last: 'Van Gough', ears: 1 });
您的情况是:
var uniqueId = { id: 1, name: "a name", location: "new york" }; $scope.myItems.$child(uniqueId.id).$set(uniqueId);
请记住,使用$set会破坏该位置上的所有先前数据。要无损地更新值,请使用$update。
$update