Java 如何在Firestore(Android)中显示某个成员制作的文档?
我有一个应用程序,成员可以发布内容,但我有一个问题。我的问题是我想做一个活动,其中只显示作者成员的出版物,但Firestore要求我创建一个索引来执行此操作,问题是每个成员的文档都基于其UID 例如: 我的UID是:Java 如何在Firestore(Android)中显示某个成员制作的文档?,java,android,firebase,google-cloud-firestore,Java,Android,Firebase,Google Cloud Firestore,我有一个应用程序,成员可以发布内容,但我有一个问题。我的问题是我想做一个活动,其中只显示作者成员的出版物,但Firestore要求我创建一个索引来执行此操作,问题是每个成员的文档都基于其UID 例如: 我的UID是:x54asdASD544 然后,我尝试进行以下查询: Query query = mMembersDB.document("POST").collection("x54asdASD544").whereEqualTo("type", "public").orderBy("date")
x54asdASD544
然后,我尝试进行以下查询:
Query query = mMembersDB.document("POST").collection("x54asdASD544").whereEqualTo("type", "public").orderBy("date");
当Firestore要求我创建一个索引时,我创建了它,它在创建索引后工作得很好,但是如果我也要这样做,去看另一个作者的出版物,那么他要求我创建另一个索引
例如:
Query query = mMembersDB.document("POST").collection("x54assds").whereEqualTo("type", "public").orderBy("date");
UID已更改,则先前创建的索引不再工作
- 有什么解决方案可以修复这个问题吗李>
- 有没有办法自动创建索引
基于UID命名子集合听起来不是一种非常有效的数据建模方法。考虑将所有文档放在一个集合中,将UID作为字段放在这些文档中,并使用UID作为过滤器来查找您想要的。在引用字段的集合上创建索引时,字段中的值无关紧要。您不必为每个可能的字段值创建索引。对不起,我复制了错误的示例代码,但我更新了问题。