在我的应用程序中,我想按名称按字母顺序从 Firestore 获取用户数据,因此我决定使用 orderBy 来实现此目的,但收到未定义的信息。
Firestore:
服务:
class UsersService {
async getUsers(): Promise<IUser[] | undefined> {
const userUid = auth.currentUser?.uid;
const q = query(
collection(db, "users"),
where("uid", "!=", userUid),
orderBy("name")
);
const querySnapshot = await getDocs(q);
return querySnapshot.docs.map((doc) => doc.data() as IUser);
}
}
这通常意味着您缺少查询所需的复合索引。
创建索引的最简单方法是捕获并记录 SDK 提供的异常,然后单击其中的链接。这将带您进入 Firestore 控制台中的一个页面,其中已预先填充了所有必要的详细信息。