【问题标题】:Retrieve another user UID using the a child node data使用子节点数据检索另一个用户 UID
【发布时间】:2020-12-24 09:13:14
【问题描述】:

我正在为我的 ionic 网络应用创建推荐代码功能。目前,当提交推荐代码并且它存在于 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)

谢谢!

【问题讨论】:

  • 您在问题中包含了 JSON 树的图片。请将其替换为实际的 JSON 作为文本,您可以通过单击 your Firebase Database console 的溢出菜单 (⠇) 中的 Export JSON 链接轻松获得。将 JSON 作为文本使其可搜索,让我们可以轻松地使用它来测试您的实际数据并在我们的答案中使用它,一般来说这只是一件好事。

标签: typescript firebase ionic-framework firebase-realtime-database ionic5


【解决方案1】:

听起来您正在尝试对 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..."
  })
})

【讨论】:

  • 您好,我尝试了代码,但没有收到来自 console.log() 的任何输出。同样对于equalTo('564835797'),有没有办法可以放置用户输入的任何内容?对于我的 html 页面中的示例,我有一个输入,用户将在其中编写推荐代码。如果equalTo被读取到该输入,是否有可能?
  • 你可以在equalTo调用中放任何你想要的东西,只要它的值是你想要比较的值。我在答案中对值进行了硬编码,以明确您传入的任何内容的最终值需要是什么。因此,如果您的 this.checking.referralCode 具有值 56483579,则传递该值将与我的答案相同。
  • 嗯,好的,谢谢,但是当我写代码时没有任何反应
  • “什么都没有发生”不太容易解决。我对这个 API 很满意,但当然可能遗漏了一些东西。如果你不能得到我回答的工作,如果你设置一个你在 jsbin 之类的网站中被困在哪里的复制品,这可能会很有用,这样我就可以在那里看看。
  • 您好,我设法更新了它,我需要将this.checking.referralCode 更改为整数谢谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2018-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多