获取 Firebase 推送对象的 ID 未定义
Get ID of Firebase Pushed Object Is Undefined
每当我尝试获取推送到我的 Firebase 数据库的项目的 ID 时,都会发生一些非常奇怪的事情...我直接使用了来自 one of their examples:
的代码
var fireBaseRef = new Firebase(FIREBASE_ROOT);
var id = fireBaseRef.child("flintstones").push();
id.set({
first: 'Fred',
last: 'Flintstone'
}, function (err) {
if (!err) {
//var name = id.key();
console.log("Set with ID: " + id);
}
});
当此代码 运行 一切正常时,Forge 门户显示数据已正确写入数据库,我收到相应的 javascript 控制台消息:
"Set with ID: https://myfirebaseurl.com/flintstones/-JfjdUW4BT32DMgeuAdt"
当我取消注释
行时出现问题
var name = id.key();
我一这样做就收到一个 javascript 错误,表明不存在这样的方法 ("Uncaught TypeError: undefined is not a function."),我不知道这是怎么回事,我需要使用密钥其他地方的值(在本例中为“-JfjdUW4BT32DMgeuAdt”)。
谁能告诉我哪里错了?
您看到的行为取决于您使用的客户端库版本。 Firebase Web / Node.js 客户端库 < 2.0.0 使用 FirebaseRef.name()
,但该字段已重命名以支持 v2.0.0 及更高版本的 FirebaseRef.key()
。有关更多信息,请查看更新日志 here.
每当我尝试获取推送到我的 Firebase 数据库的项目的 ID 时,都会发生一些非常奇怪的事情...我直接使用了来自 one of their examples:
的代码var fireBaseRef = new Firebase(FIREBASE_ROOT);
var id = fireBaseRef.child("flintstones").push();
id.set({
first: 'Fred',
last: 'Flintstone'
}, function (err) {
if (!err) {
//var name = id.key();
console.log("Set with ID: " + id);
}
});
当此代码 运行 一切正常时,Forge 门户显示数据已正确写入数据库,我收到相应的 javascript 控制台消息:
"Set with ID: https://myfirebaseurl.com/flintstones/-JfjdUW4BT32DMgeuAdt"
当我取消注释
行时出现问题var name = id.key();
我一这样做就收到一个 javascript 错误,表明不存在这样的方法 ("Uncaught TypeError: undefined is not a function."),我不知道这是怎么回事,我需要使用密钥其他地方的值(在本例中为“-JfjdUW4BT32DMgeuAdt”)。
谁能告诉我哪里错了?
您看到的行为取决于您使用的客户端库版本。 Firebase Web / Node.js 客户端库 < 2.0.0 使用 FirebaseRef.name()
,但该字段已重命名以支持 v2.0.0 及更高版本的 FirebaseRef.key()
。有关更多信息,请查看更新日志 here.