【问题标题】:Get a value with column name in Ionic 3 with FireBase使用 FireBase 在 Ionic 3 中获取具有列名的值
【发布时间】:2018-09-15 14:29:39
【问题描述】:

我使用下面的代码块只获取一行数据;

db.database.ref('/User/').orderByChild('uID').equalTo(this.uID).once('value', (snapshot) => {
    console.log(snapshot.val());
})

这是输出;

{-L88gtymS5pS3KWtZrmI: {…}}
-L88gtymS5pS3KWtZrmI:
email:"user5@gmail.com"
fullName:"User 5"
uID:"ksog0IbStTOFSJnVlED46vN32TB2"
username:"User 5"
__proto__:
Object
__proto__
:
Object

但如果我想获得这样的电子邮件价值;

db.database.ref('/User/').orderByChild('uID').equalTo(this.uID).once('value', (snapshot) => {
    console.log(snapshot.val().email);
})

它说这个值是未定义的。

【问题讨论】:

    标签: javascript angular firebase ionic-framework firebase-realtime-database


    【解决方案1】:

    试试这个:

    db.database.ref('/User/').orderByChild('uID').equalTo(this.uID).once('value', (snapshot) => {
    snapshot.forEach(function(child) {
    console.log(child.val().email);
       });
    });
    

    您需要在随机 id 内循环才能获得那里的值。

    【讨论】:

    • 有一个错误“[ts] 类型的参数 '(child: DataSnapshot) => void' 不能分配给类型 '(a: DataSnapshot) => boolean' 的参数。类型 'void ' 不能分配给类型 'boolean'。"
    • 谢谢,我在代码中添加了 return false 行并且工作正常 :)
    猜你喜欢
    • 2018-09-29
    • 1970-01-01
    • 2018-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-01
    • 1970-01-01
    • 2018-08-25
    相关资源
    最近更新 更多