热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

android–如何自动为CloudFirestore创建索引?

我有一个列表集合,其中存储了一堆文档.每个文档都包含一些详细信息和一组用户.我使用uid作为键并将boolean作为值存储用户Collection中的用户.这意味着只有那些用户才能

我有一个列表集合,其中存储了一堆文档.每个文档都包含一些详细信息和一组用户.我使用uid作为键并将boolean作为值存储用户Collection中的用户.这意味着只有那些用户才能阅读该特定列表.这是我的数据库结构.

enter image description here
在我的代码中,我使用此查询:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference listsRef = rootRef.collection("Lists");
Query query = listsRef.orderBy("date").whereEqualTo("users."+uid, true);

我收到以下错误:

FAILED_PRECONDITION: The query requires an index. You can create it here: ...

如果我去控制台创建所需的索引,一切正常.但是是否有可能自动创建索引,因为我无法为加入我的应用程序的每个用户手动创建索引.如果我为每个用户提供了一些排序索引,是否会出现问题?

还有另一种解决方法吗?

提前致谢!

解决方法:

Cloud Firestore会自动在文档的各个字段上创建索引.跨越多个字段的复杂索引(目前)只能在Firebase控制台中手动创建.

如果您发现需要以编程方式创建索引,则通常应考虑扩充数据结构以允许反向查找.例如,在您的方案中,我将添加一个userLists集合,您可以在其中保留每个用户的列表.


推荐阅读
author-avatar
Hz956_培子
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有