javascript - 在 Firebase Firestore 中,我想使用 orderBy 两次。是否需要创建索引来加快查询速度?

标签 javascript indexing google-cloud-firestore

在 Firebase Firestore 中,我想使用 orderBy 两次。我需要创建索引来加快查询速度吗?

例如:

Query query = fsDB.collection("users").document(currentUID).collection("received_messages")
.orderBy("messageSeen").orderBy("date");

不会像使用范围或“where”时那样自动显示错误消息。

结构如下:

received_messages

  date:  01/02/99

  messageSeen:  true

  from:  keuajopdf315 

我应该在“收到的消息”集合以及“messageSeen”和“日期”字段上放置索引以加快查询速度吗?

最佳答案

当我尝试使用两个 orderBy() 子句运行查询时,出现错误:

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

添加错误消息中链接的索引后,我可以检索按状态然后按索引排序的文档。在这里查看我的工作 jsbin:https://jsbin.com/rewujav/edit?js,console

docs.orderBy("state").orderBy("index").get().then(function(snapshot) {
  snapshot.forEach((doc) => {
    console.log(doc.id+": state="+doc.data().state+" index="+doc.data().index);
  })
})

关于javascript - 在 Firebase Firestore 中,我想使用 orderBy 两次。是否需要创建索引来加快查询速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50011775/

相关文章:

javascript - Javascript中解析日期的问题

javascript - 如何在跨度中添加底部填充

python - Pandas :计算两个数据帧之间的总百分比差异

firebase - Cloud Firestore 读取操作的账单费用提高了 10 倍

javascript - 如何从 iFrame 中获取值

mysql - EXPLAIN SELECT 显示 MySQL 没有使用我的索引

database - 自动数据库索引

java - 想要访问 firebase cloud firestore 但存在运行时错误

javascript - 如何使用下面的代码仅选择集合中的特定文档?

javascript - uploadify 未捕获类型错误 : Cannot read property 'toString' of undefined