使用子节点数据检索另一个用户 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..."
})
})
我正在为我的离子网络应用程序创建推荐代码功能。当前,当提交推荐代码并且它存在于 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..."
})
})