对Firebase数据库的简单查询返回非常大的响应

时间:2019-06-12 03:59:00

标签: javascript firebase google-cloud-firestore

我正在尝试按照https://firebase.google.com/docs/firestore/query-data/queries上的指示进行以下操作:

const requestQueueRef = db.collection('brocasters').doc('Kala').collection('requestQueue')
var querye = requestQueueRef.where("id", "==","0wEMRQYh3D5ODHJN6kThyO")

我想做的是防止重复的ID存储在requestQueue中,因此在插入新文档之前,我要检查ID(本例中我对ID进行了硬编码)。

当我检查querye变量时,响应非常大(5821行JSON)。但是,让我认为我做错了什么,是如果我将.where("id", "==","0wEMRQYh3D5ODHJN6kThyO")部分更改为类似.where("iddddd", "==","aaaaaa0wEMRQYh3D5ODHJN6kThyO")的胡言乱语,我仍然会得到很大的回应。

2 个答案:

答案 0 :(得分:2)

您显示的代码尚未执行查询。您可能正在做的是转储所构建的Query对象的JSON格式表示。如果要实际执行查询,则应对所构建的查询对象执行类似的操作get(),然后检查QuerySnapshot中提供的结果。

有关查询,请参见documentation,以获取有关查询Firestore的更多详细信息。

答案 1 :(得分:1)

您缺少代码的某些部分,这应该可以解决问题:

const requestQueueRef = db.collection('brocasters').doc('Kala').collection('requestQueue')
var querye = requestQueueRef
    .where("id", "==","0wEMRQYh3D5ODHJN6kThyO")
    .get()
    .then((snap) => {
     snap.docs.forEach(doc => {
       if(doc.exists) console.log(doc.data())
     })
    })