如何获得 firebase.database.Reference 完整路径

how to get firebase.database.Reference full path

考虑

var adaRef = firebase.database().ref("users/ada");

如何获取 ref 的完整路径?那是 "users/ada" ?

这非常简单:

adaRef.toString()

将打印完整的 URL:https://<your-app>firebaseio.com/users/ada

因此,为了获取路径,您可以从那里提取子字符串。两种方法是:

adaRef.toString().substring(firebase.database().ref().toString().length-1)

或:

adaRef.toString().substring(adaRef.root.toString().length-1)

两者都会打印 /users/ada

根据 Frank 的回答,我扩展了 firebase 如下:

firebase.database.Reference.prototype.fullkey = function() {
    return this.toString().substring(this.root.toString().length-1);
}

那你可以做 adaRef.fullkey() // returns /users/ada

(我想叫这个'path'但是好像被FB保留了)

从版本 9+ 开始弃用

在新版本的框架上,您可以使用:

snapshot.ref.path.toString()

snapshotDatabase Reference 的调用结果。

也许这会有所帮助。