typescript - 使用子节点数据检索另一个用户 UID
问题描述
我正在为我的离子网络应用程序创建一个推荐代码功能。目前,当提交推荐代码并且它存在于 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)
谢谢 !
解决方案
听起来您正在尝试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..."
})
})
推荐阅读
- three.js - Threejs/Blender : 如何根据纹理图像来决定要使用的纹理贴图类型
- amazon-web-services - 我要为 AWS 弹性 IP 付费
- javascript - 在 Web 上导入和读取 EXCEL 文件中的数据
- xml - excel功能区下拉项目 - 没有onAction?
- reactjs - 使用本机反应和博览会捕获后未初始化图像
- javascript - 如何更新 MongoDB 中已经存在的字段
- sql-server - 从创建特定索引的表中获取列名
- xml - 指向 xslt 中的变量时生成错误
- image - 图片上传和显示不起作用-Cakephp
- python - 列表索引超出范围错误python