【问题标题】:How to use custom keys to save data in database?如何使用自定义键将数据保存在数据库中?
【发布时间】:2017-02-06 21:27:18
【问题描述】:

如果您能在以下方面帮助我,我将不胜感激:

我有一个 Ionic 2 项目,需要知道如何在 Firebase 数据库中使用自定义键保存对象。

实际上,在 Firebase 中我有:

+ blabla
+ blabla
- users : 
    - UIDXXX : {
        + last_audio: {}
        + sessions : []
    }

嗯,代替字符串 UIDXXX,我需要将用户的 uid 保存为 key,例如:

- users : 
          - 232ssadas223ss2 : {
                  + last_audio: {}
                  + sessions : []
            }
          - das112dasd21dsd : {
                  + last_audio: {}
                  + sessions : []
            }

           .
           .
           .

这就是我实际检索数据的方式:

this.auth.subscribe((user) => {
    if (user) {
        let firebaseObservable = this.angularFire.database.object(`/users`);
        firebaseObservable.update({
            useruid : {
                last_audio: this.audio,
                sessions: [
                    "Hoy",
                    "Ayer"
                ]
             }
        });
    }
});

但是,显然我将“userid”这个词保存为键而不是 user.uid,并且在 Firebase 中我得到了:

users :
- useruid : {
    + last_audio: {}
    + sessions : []
}

非常感谢您。

【问题讨论】:

    标签: angular firebase firebase-realtime-database ionic2 angularfire2


    【解决方案1】:

    您可以使用所谓的括号表示法将数据设置到对象中:

        let firebaseObservable = this.angularFire.database.object(`/users`);
        var updates = {};
        updates[userid] = {
                last_audio: this.audio,
                sessions: {
                    "Hoy": true,
                    "Ayer": true
                }
             };
        firebaseObservable.update(updates);
    

    我还将您的 sessions 数组更改为一个集合,因为它可能更好地反映您正在存储的内容。有关数组与集合的更多信息,请在此处查看我的答案:Firebase query if child of child contains a value

    【讨论】:

    • 我爱你,你拯救了我的一天!有用!我不知道这件事。如果有问题,我会咨询你,如果没有问题,谢谢! :)
    • 实际上,在会话中我应该保存日期,我只是将字符串放入测试并忘记更正它。会话实际上会保存“2017-06-02”、“2017-05-02”等数据,而不是“Hoy”、“Ayer”。我澄清你对我所做的更正,在这种情况下这样做是个好主意吗?
    猜你喜欢
    • 2019-06-09
    • 2022-01-20
    • 2013-11-01
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 2014-01-27
    相关资源
    最近更新 更多