首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >了解如何设置云防火墙DB

了解如何设置云防火墙DB
EN

Stack Overflow用户
提问于 2020-04-17 16:25:03
回答 2查看 51关注 0票数 0

我正试着从一本教科书上学习安卓工作室。注册的代码如下:

代码语言:javascript
复制
Map<String, Object> user = new HashMap<>();
user.put("email", mAuth.getCurrentUser().getEmail());
db.collection("users")
        .document(mAuth.getCurrentUser().getUid())
        .set(user)
        .addOnSuccessListener(new OnSuccessListener<Void>() {
            @Override
            public void onSuccess(Void v) {
                //code
            }
        })
        .addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                //code
            }
        });

我想弄清楚他们想让DB看起来像什么样子。我用的是火底云火药库。据我所知,我需要创建一个名为users的集合,这就是我所做的。然后我来到了下面的窗口:

我接下来该怎么办?正如我从代码中了解到的,我通过使用用户的UID获得文档,但是我没有它,那么我应该填写哪些字段呢?JSON应该是什么样的呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-17 16:30:59

当您对集合执行.set()时,它将使用生成的用户id创建文档。

代码语言:javascript
复制
db.collection("users")
        .document(mAuth.getCurrentUser().getUid())
        .set(user)

这里告诉您,在集合用户内部,创建一个id为当前登录的userID的文档,然后将user对象设置为该文档的数据。

运行发布的代码后,它将自动生成该集合中的用户,如果没有在Firebase控制台直接看到它,请刷新浏览器

我接下来该怎么办?正如我从代码中了解到的,我通过使用用户的UID获得文档,但是我没有它,那么我应该填写哪些字段呢?

这是错误的,您没有得到任何用户,因为您使用的是.set(),如果您想获得该用户文档,则需要将其更改为.get()

如果您对https://firebase.google.com/docs/firestore/quickstart?hl=en有任何疑问,请查看官方文档

票数 1
EN

Stack Overflow用户

发布于 2020-04-17 16:37:54

Firebase Firestore是一种新的数据模型,比实时数据库(JSON树)更复杂。简而言之,Firestore是集合、文档和子集合中组织的一组数据。

根路径必须只有集合(创建一个名为users)。集合必须有文档,将它们视为对象或映射,并带有键值对。

一个文档本身不能有超过1MB的数据,但是一个文档可以有一个,这就是您必须访问这个名为Firestore的新数据模型的方式,它总是在集合 document 之间交替进行。

我建议Youtube Firestore播放列表更清楚地理解这个新数据库。

PS:它不生成类似JSON树的实时数据库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61276240

复制
相关文章

相似问题

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