Java Firebase Admin SDK ValueEventListener 中的数据库路径变量

Database path variable in Java Firebase Admin SDK ValueEventListener

在 Java SDK 中,我想在下面的示例中使用 var 的值。

db = FirebaseDatabase.getInstance();
ref = db.getReference("/foo/{var}/bar");
ref.addValueEventListener(new ValueEventListener(){
  @Override
  public void onDataChange(DataSnapshot snapshot) {
   ... here I want the value of var
  }
};

写入 /foo/foobar/bar 会触发事件,并显示正确的快照。我想访问值 "foobar"。

在云函数SDK中,我可以这样做:

functions.database.ref('/foo/{var}/bar').onWrite(e=>{
  var value = e.params['var']; // would be foobar in above path
}

这在 Java SDK 中完全可行吗?询问父键只给我“{var}”而不是实际值。

对此类通配符路径的支持是 Cloud Functions SDK for Firebase 所独有的。 Firebase 数据库 SDK 不支持路径中的通配符。

所以你的代码:

ref = db.getReference("/foo/{var}/bar");

此代码(至少据我所知)仅匹配该确切路径 /foo/{var}/bar。如果您看到此匹配 /foo 下的所有路径,您能否告诉我您正在使用的确切 SDK,因为我想试一试?