问题描述
我在 firebase 中推送数据,但我也想在我的数据库中存储唯一 ID.有人可以告诉我,如何推送具有唯一 ID 的数据.
I am pushing data in firebase, but i want to store unique id in my database also .can somebody tell me,how to push the data with unique 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: ref is not defined"
error is "ReferenceError: ref is not defined"
推荐答案
您可以使用任何 ref 对象的函数 key()
获取密钥
You can get the key by using the function key()
of any ref object
在 Firebase 的 JavaScript SDK 中有两种调用 push
的方法.
使用
push(newObject)
.这将生成一个新的推送 id 并在具有该 id 的位置写入数据.
using
push(newObject)
. This will generate a new push id and write the data at the location with that id.
使用push()
.这将生成一个新的推送 id 并返回对具有该 id 的位置的引用.这是一个纯客户端操作.
using push()
. This will generate a new push id and return a reference to the location with that id. This is a pure client-side operation.
知道#2,您可以轻松地获得一个新的推送 id 客户端:
Knowing #2, you can easily get a new push id client-side with:
var newKey = ref.push().key();
然后您可以在多位置更新中使用此密钥.
You can then use this key in your multi-location update.
https://stackoverflow.com/a/36774761/2305342
如果你不带参数调用 Firebase push()
方法,它是一个纯客户端操作.
var newRef = ref.push(); // this does *not* call the server
然后您可以将新引用的 key()
添加到您的项目中:
You can then add the key()
of the new ref to your item:
var newItem = {
name: 'anauleau'
id: newRef.key()
};
并将项目写入新位置:
newRef.set(newItem);
https://stackoverflow.com/a/34437786/2305342
在你的情况下:
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);
}
这篇关于在 Firebase 中使用 push() 如何获取唯一 ID 并存储在我的数据库中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!