我遇到了一个非常简单的错误:
Document references must have an even number of segments.
我知道它在告诉我什么以及如何解决它,但是在收藏参考中却给了我这个错误。
CollectionReference collectionReference = getFirebaseInstance()
.collection(Constants.USERS)
.document(userId)
.collection(Constants.CONTACTS);
在我的数据库中,路径为(集合)<文档>(集合)<文件>我正在尝试获取用户在users / {id} / contacts的所有联系人,但这只是抛出此错误,有什么想法吗?
getFirebaseInstance是我创建的一种始终获取当前值的方法
FirebaseFirestore.getInstance();
答案 0 :(得分:2)
您的userId
变量中可能带有斜线。文档ID不能带有斜线,因为在形成文档的“路径”时,它们被理解为集合和文档之间的分隔符。
字符串也可能为空,这是无效的。
答案 1 :(得分:1)
因为以上和其他类似的帖子都没有帮助我。
在调用set数据时,然后在.getDocument(...)之后(即读取数据),我立即收到此错误。当我在setData方法的完成处理程序中调用读取数据方法时,错误消息消失了。