我正在将数据推送到Firebase中,但是我也想在数据库中存储唯一ID。有人可以告诉我,如何推送具有唯一ID的数据。
我正在尝试这样
writeUserData() { var key= ref.push().key(); var newData={ id: key, websiteName: this.webname.value, username: this.username.value, password : this.password.value, websiteLink : this.weblink.value } firebase.database().ref().push(newData); }
错误是“ ReferenceError:引用未定义”
您可以使用key()任何ref对象的功能来获取密钥
key()
push在Firebase的JavaScript SDK中有两种调用方法。 使用push(newObject)。这将生成一个新的推送ID,并将数据写入具有该ID的位置。 使用push()。这将生成一个新的推送ID,并返回对该ID的位置的引用。这是 纯客户端操作 。 知道#2,您可以轻松地通过以下方式获得新的推送ID客户端: var newKey = ref.push().key(); 然后,您可以在多位置更新中使用此密钥。 如果您在push()不带参数的情况下调用Firebase 方法,则它是纯客户端操作。 var newRef = ref.push(); // this does *not* call the server 然后,您可以将key()新ref的添加到您的商品中: var newItem = { name: 'anauleau' id: newRef.key() }; 并将项目写入新位置: newRef.set(newItem);
push在Firebase的JavaScript SDK中有两种调用方法。
push
使用push(newObject)。这将生成一个新的推送ID,并将数据写入具有该ID的位置。
push(newObject)
使用push()。这将生成一个新的推送ID,并返回对该ID的位置的引用。这是 纯客户端操作 。
push()
知道#2,您可以轻松地通过以下方式获得新的推送ID客户端:
var newKey = ref.push().key();
然后,您可以在多位置更新中使用此密钥。
如果您在push()不带参数的情况下调用Firebase 方法,则它是纯客户端操作。
var newRef = ref.push(); // this does *not* call the server
然后,您可以将key()新ref的添加到您的商品中:
var newItem = { name: 'anauleau' id: newRef.key() };
并将项目写入新位置:
newRef.set(newItem);
在您的情况下:
writeUserData() { var myRef = firebase.database().ref().push(); var key = myRef.key(); var newData={ id: key, Website_Name: this.web_name.value, Username: this.username.value, Password : this.password.value, website_link : this.web_link.value } myRef.push(newData); }