【发布时间】:2018-04-27 12:53:47
【问题描述】:
我对 Firestore 对 200 的复合索引限制的计数感到困惑。
例如,假设我有数千个用户,每个用户有数千个字符。我希望每个用户都能够根据关于这些角色的不同参数对他的角色进行排序。我有以下结构,其中 {} 表示通配符:
users:
{user_ID}
user_name: {user_name}
user_email: {user_email}
characters:
{characterUID}
name: {name}
strength: {strength}
speed: {speed}
stamina: {stamina}
date_created: {timestamp}
所以,在 android 中,我会这样做:
Query query = fsDB.collection("users").document("user_ID").collection("characters")
.orderBy("strength").orderBy("name");
或者这个:
Query query = fsDB.collection("users").document("user_ID").collection("characters")
.orderBy("speed").orderBy("date_created");
然后,我将在 Firebase 控制台中创建复合索引:
Collection Group: characters
Fields Indexed: strength , name
和
Collection Group: characters
Fields Indexed: speed, date_created.
那么,根据 Firebase,这只是 2 个复合索引吗?还是乘以我拥有的用户数量?
如果乘以用户数,我应该如何重组我的数据,以免遇到这个问题?
谢谢-
杰夫
【问题讨论】:
-
也在firebase-talk群发帖。
-
我们的项目需要 200 多个。我认为对它设置硬性限制不适用于任何可扩展的项目。随着您的项目越来越大,您最终将需要更多
标签: firebase indexing limit google-cloud-firestore composite