Firebase 使用AngularFire从刚刚通过$add添加的元素中获取密钥
我正在将AngularFire与Firebase一起使用,希望获得我刚才通过Firebase 使用AngularFire从刚刚通过$add添加的元素中获取密钥,firebase,angularfire,Firebase,Angularfire,我正在将AngularFire与Firebase一起使用,希望获得我刚才通过$add()方法添加的元素的键。对于“香草”Firebase,有一种记录在案的方法可以做到这一点,请参阅“获取push()生成的唯一ID”。不过,它似乎不适用于AngularFire的等价物$id var ref = $firebase(firebaseData.ref()).$asArray(); var newItem = ref.$add({fruit: "apple", color: "red"}); var i
$add()
方法添加的元素的键。对于“香草”Firebase,有一种记录在案的方法可以做到这一点,请参阅“获取push()生成的唯一ID”。不过,它似乎不适用于AngularFire的等价物$id
var ref = $firebase(firebaseData.ref()).$asArray();
var newItem = ref.$add({fruit: "apple", color: "red"});
var itemId = newItem.$id;
// Do stuff with itemID...
newItem
已使用新密钥(例如-Jf-06c0QX\u vMMNL3Aek
)成功添加到Firebase,但itemId
返回未定义
有办法做到这一点吗?来自:
如果您使用的是AngularFire的旧版本,那么该方法可能仍然被调用
name
,因此您需要var id=ref.name()
现在推送
返回一个承诺
,因此更容易获得密钥:
constructor(private afDb: AngularFireDatabase) { }
my_items$ : FirebaseListObservable<Item[]> = this.afDb.list('my-node');
this.my_items$.push(this.item).then((item) => {
console.log(item.key);
});
构造函数(专用afDb:AngularFireDatabase){}
my_items$:FirebaseListObservable=this.afDb.list('my-node');
this.my_items$.push(this.item).then((item)=>{
console.log(item.key);
});
constructor(private afDb: AngularFireDatabase) { }
my_items$ : FirebaseListObservable<Item[]> = this.afDb.list('my-node');
this.my_items$.push(this.item).then((item) => {
console.log(item.key);
});