Java中Firestore查询:获取items数组中存在status为TEST的订单
Firestore数组嵌套对象查询问题
我的Firestore数据结构如下(配图):
我希望通过Java代码查询Firestore,获取所有items数组中任意一个item的status等于TEST的订单,是否可行?
目前按客户端查询订单的代码可以正常运行:
CollectionReference ordersRef = dbFirestore.collection("orders"); Query query = ordersRef.whereEqualTo("client", "client1");
但无法实现所需查询。我尝试了以下代码:
CollectionReference ordersRef = dbFirestore.collection("orders"); Query query = ordersRef.whereEqualTo("items.status", "TEST");
但返回空数组。
更新(参考Alex的回答后):
如果将items转换为Map结构(配图),以下查询可以正常运行:
Query query = ordersRef.whereEqualTo("orders.items.status", "TEST");
但这无法解决实际问题,因为items Map需要包含多个对象(配图)。
内容的提问来源于stack exchange,提问作者Asenjo
相关产品推荐
相关产品推荐

