Android 查询包含子集合的文档
是否有一种方法可以在单个查询中查询包含特定子集合(或任何子集合)的所有文档 这个答案:建议使用文档长度。是否可以在单个查询中执行此检查 理想情况下,这样的事情是可能的:Android 查询包含子集合的文档,android,firebase,google-cloud-firestore,firebaseui,Android,Firebase,Google Cloud Firestore,Firebaseui,是否有一种方法可以在单个查询中查询包含特定子集合(或任何子集合)的所有文档 这个答案:建议使用文档长度。是否可以在单个查询中执行此检查 理想情况下,这样的事情是可能的: db.collection("stuff") .whereEqualTo("fu", true) .containing("subcollection"); 上下文:我正在使用FirestoreRecyclerAdapter用此查询填充RecyclerView。这就是为什么我不能
db.collection("stuff")
.whereEqualTo("fu", true)
.containing("subcollection");
上下文:我正在使用FirestoreRecyclerAdapter用此查询填充RecyclerView。这就是为什么我不能在本地进行过滤。我知道在文档中引入一个指示符字段可以解决这个问题,但最好是避免这个问题。我认为这样的查询是不可能的 我能想到的最好办法是在父文档中保留一个字段,当您向子集合添加内容时,该字段将进行标记
db.collection("stuff")
.whereEqualTo("fu", true)
.whereEqualTo("somethingAddedToSubcollection", true);
诚然,这并不理想,因为每次写入子集合都需要再次写入文档本身,所以我希望其他人知道更好的解决方案。Firestore不支持跨集合的查询。单个查询只能使用单个集合中文档的属性。子集合是它们自己的集合-它们实际上与更高级别的集合没有任何关系,除非按组织划分。