首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase数据库:将生成的密钥更改为自定义密钥+结构

Firebase数据库:将生成的密钥更改为自定义密钥+结构
EN

Stack Overflow用户
提问于 2018-04-18 12:02:15
回答 1查看 906关注 0票数 0

我正在制作一个聊天机器人,因此我希望在Firebase中实现以下结构。

如果有人想知道什么是多动症,我可以很容易地通过编辑数据库参考到ref('data/disorders/' + disorder + '/' + questionType')获得数据。

不幸的是,我无法得到这样的结构:

问题1:在添加问题和答案之前,我想创建一个不同疾病的列表。

我使用的是push()函数(Database.ref('chatbot/disorders').push(disorder)),但结果不是我想要的结果。

问题2:如何将自动生成的密钥更改为无序名称,如ADHD或抑郁症?

更新:

首先,我想先实现这个结构:

{ "disorders": { "ADHD" "autisme" "depression" "..." } }

当添加问题答案时:

{ "disorders": { "ADHD": { "what": "ADHD is ...", "signs": "The main symptoms of ADHD are ...", "types": "There are three different ..." } "autisme": { "what": "Autism ..." } "..." } }

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-18 12:06:06

当您需要为您保存的数据使用自动生成键时,可以使用push。

如果您需要保存具有您自己的密钥的数据,则可以避免使用它。例如,在您的例子中,您可以使用使用集

代码语言:javascript
复制
var disorder = {'description': 'Attention deficit...'};
Database.ref('chatbot/disorders/ADHD').set(disorder);

或者你可以使用更新

代码语言:javascript
复制
var disorder = {'ADHD':{'description': 'Attention deficit...'}};
Database.ref('chatbot/disorders').update(disorder);

关于您的“问题1",我认为您应该检查您的数据库结构。也许像这样的事情可以解决:

代码语言:javascript
复制
{
    "disorders": {
        "ADHD": {
            "description": "Disorder mainly hitting children ...",
            "posts": {
                "autogenerated-key-via-push": {
                    ...
                }...
            }
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49899249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档