【问题标题】:Firebase retrieved documents/collections are empty with no errorFirebase 检索到的文档/集合为空且没有错误
【发布时间】:2020-08-16 23:42:21
【问题描述】:

我的 Firebase 数据库包含 2 个名称为“collectionA”和“collectionB”的集合,它们都包含不同的文档。他们都有规则允许经过身份验证的用户读写(但是我无论如何都没有获得权限错误)。问题是当我获得对 collectionA 和 B 的引用时:

var docRefA = db.collection("collectionA")

var docRefB = db.collection("collectionB")

集合 A 检索带有其各自文档的文档,但集合 B 返回空文档。我仍然可以成功地写入集合 B,所以我知道 docRef 没有错。如果我不知道的集合之间有任何差异,我将附上实际集合的图像: collection A and B - “users” 集合是 collectionA 而“store_exercises” 是 B。我看到的唯一区别是 B 中的文档是灰色的斜体,不知道这意味着什么?

编辑 1:这就是我生成/添加项目到集合 A 的方式(我可以看到两个写入操作都有效,它只是读取):

val userMap = HashMap<String, String>()
    userMap["username"] = username
    userMap["email"] = email
                    db.collection("users").document(auth.currentUser!!.uid).set(userMap)

和集合 B:

db.collection("store_exercises").document("whatever").collection("another_collection").document("name")
                .set(myObject)

编辑 2:两个集合的内容图像: contents of both collections

否则,我该如何调试查询?或测试这个场景?

【问题讨论】:

  • 请添加您用于“collectionB”的代码。
  • 你去@AlexMamo,如果还有什么帮助请告诉我
  • 向我们展示这些文档的字段。
  • 参见 EDIT 2 中的附图,唯一的区别是 A 中的文档有字段和另一个集合,而 B 中的文档仅包含其他集合,而不包含字段(这些集合中的文档是但是,不是空的)@AlexMamo
  • 比较图片的时候想出来了,谢谢@AlexMamo

标签: android database firebase google-cloud-firestore


【解决方案1】:

好的,刚刚想通了,如果一个文档不包含字段,而只是集合(即使这些集合由非空文档组成),那么它会认为它是一个“空分支”并且不显示任何内容锁在里面。

我只想要 2 个集合,所以我必须创建一个文档来链接它们,所以我没有添加任何字段,但除非有一些符号或似乎添加至少一个字段的东西,否则它们必须被阅读.我所做的只是在集合 B 中的文档中添加一个字段,现在它们不是空的。

【讨论】:

    猜你喜欢
    • 2019-12-31
    • 2021-03-24
    • 1970-01-01
    • 2020-01-05
    • 1970-01-01
    • 1970-01-01
    • 2020-07-23
    • 2013-06-23
    • 2021-11-14
    相关资源
    最近更新 更多