我如何从Firestore文档中获取所有数据?

时间:2020-09-25 21:59:41

标签: javascript google-cloud-firestore

在您告诉我阅读docs之前,我已经知道了。我已经尝试过那里的示例,但是还没有开始工作。

我只是想从数据库的静音部分获取所有数据,并能够检查它们是否仍然静音。 (基本上,我需要获取他们的UserId,行会ID,静音开始和静音结束数据。)

根据我尝试过的文档:

const mutedDB = db.collection('muted');
const queryRef = mutedDB.where('stillMuted', '==', true);
console.log(queryRef)

^返回^ enter image description here

const mutedDB = db.collection('muted');
const snapshot = mutedDB.where('stillMuted', '==', true).get();
if (snapshot.empty) return console.log('None')  
        
snapshot.forEach(doc => {
  console.log(doc.id, '=>', doc.data());
});

^返回错误^

我不确定我是否做得正确,请让我知道是否有解决方法!

1 个答案:

答案 0 :(得分:1)

get()返回一个产生DocumentSnapshot的Promise。它本身不会返回DocumentSnapshot。您需要等待以常规JavaScript方式实现的承诺:

const promise = mutedDB.where('stillMuted', '==', true).get();
promise.then(snapshot => {
    if (snapshot.empty) {
        console.log('None');
        return;
    }
    snapshot.forEach(doc => {
        console.log(doc.id, '=>', doc.data());
    });
}

这在您链接的文档中有详细说明,因此我实际上仍然建议您返回并再次研究文档。