【问题标题】:Combine orderBy and where clauses in Firestore在 Firestore 中结合 orderBy 和 where 子句
【发布时间】:2020-03-23 16:04:46
【问题描述】:

我正在尝试在 Firestore 上运行一个简单的查询,同时使用 where 和 orderBy。查询不起作用,没有错误消息。经过一番研究,我发现我可能需要在 Firestore 中建立索引。我这样做了,但再一次,这个查询不起作用。

有什么解决办法吗?无法运行 where + orderBy 将是一个巨大的弱点。

代码如下:

var firestore = firebase.firestore();
firestore.collection(collec_name).where("approved", "==", 1).orderBy('signin_date', 'desc').limit(3).get().then(snapshot => {
      snapshot.forEach(doc => {
...
}
})

【问题讨论】:

    标签: javascript firebase google-cloud-firestore


    【解决方案1】:

    查询不起作用,没有错误消息

    您没有收到任何错误消息,因为您实际上并没有检查任何错误。你的代码应该有一个 catch 块来查看哪里出了问题:

    var firestore = firebase.firestore();
    firestore.collection(collec_name)
        .where("approved", "==",1)
        .orderBy('signin_date', 'desc')
        .limit(3)
        .get()
    .then(snapshot => {
        snapshot.forEach(doc => {
        }
    })
    .catch(error => {
        console.error(error)
    })
    

    如果您的查询确实需要索引,则此处打印的错误消息将为您提供一个单击链接,该链接会创建满足此查询所需的索引。

    【讨论】:

      猜你喜欢
      • 2017-06-12
      • 1970-01-01
      • 2018-03-31
      • 2019-10-30
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多