java - Firestore 按字符串键查询文档
问题描述
我有一个像这样的firestore db结构;
如何查询auctions
集合下具有给定的所有文档cargoOwnerId
?
我com.google.firebase:firebase-firestore:20.2.0
在我的项目中使用。
我在这里查看了堆栈溢出的类似问题,但没有成功。
我还阅读了谷歌关于在此处执行此操作的文档,但是当我运行下面的代码时似乎没有任何效果
FirebaseFirestore.getInstance()
.collection("auctions")
.whereEqualTo("cargoOwnerId","ZkYu6H6ObiTrFSX5uqNb7lWU7KG3")
.get()
.addOnCompleteListener(task -> {
Log.d("Logging", "Size: " + task.getResult().size());
});
我希望返回包含ZkYu6H6ObiTrFSX5uqNb7lWU7KG3
as 的所有文档的列表,cargoOwnerId
但它什么也不返回。大小为 0。
我错过了什么吗?
解决方案
您的文档的结构方式,您尝试做的事情是不可能的。当您不知道地图属性的名称时,您无法通过地图属性进行查询。地图属性的名称也必须在所有文档中保持一致。
在文档的顶层,您显然有一个与文档具有相同 ID 的字段,即地图。我完全不清楚为什么要在文档中使用单个地图字段。在我看来,您不想要一个地图,而是希望该地图的所有字段都是文档字段。这将允许您执行您所询问的查询。也许您在填充文档时犯了一个错误。
推荐阅读
- java - 简单的更新检查因 SSLHandshakeException 而失败
- angular - 启动服务器时角度 cli 显示错误
- excel - 复制到其他工作表时单元格保持空白
- python - 通过完全采样数据帧上的掩码访问子采样数据帧
- html - 我需要帮助创建一个包含表单的弹出窗口
- powershell - Powershell远程http下载
- angular - Angular - 为表单创建动态验证
- php - 显示 Wordpress 子项和父项
- php - MySQL Query with Returned Variables associated with Iterative Numeric Variables For-Loops
- matrix - 在矩阵报表中仅显示总计一次