使用子节点数据检索另一个用户 UID

Retrieve another user UID using the a child node data

我正在为我的离子网络应用程序创建推荐代码功能。当前,当提交推荐代码并且它存在于 firebase 实时数据库中时,将向当前用户帐户添加 50 点。但是,我也在尝试为正在使用其推荐代码的其他用户添加积分。

到目前为止,我正在尝试调用其他用户的 UID,然后我将调用该 UID 并创建更新函数。但是我无法获得 UID,有什么办法可以做到这一点?我已经添加了我的 firebase 结构和我尝试过的代码。

var ref = firebase.database().ref('users/').startAt(this.checking.referralCode).endAt(this.checking.referralCode);
ref.once("child_added", function(snapp) {
    console.log(snapp.key); 
});

更新: 我试过这段代码,但它显示了所有 UID,有没有一种方法可以使用推荐代码中的数据指定我想要的 UID?

 var ref = firebase.database().ref("users");

ref.orderByKey().endAt("referralCode").on("child_added", function(snapp) {
  var key = snapp.key;
  console.log(key)

谢谢!

听起来您正在尝试 order/filter referralCode 子值,您可以这样做:

var query = ref.orderByChild("referralCode").equalTo("56483579").limitToFirst(1);
query.once("child_added").then(function(snapshot) {
  console.log(snapshot.key); // "jHl9Srh..."
})

如果可能有多个子节点具有相同的值,你会这样做:

var query = ref.orderByChild("referralCode").equalTo("56483579");
query.once("value").then(function(results) {
  results.forEach(function(snapshot) {
    console.log(snapshot.key); // "jHl9Srh..."
  })
})