我想使用云功能更新集合中所有文档的值,因为它们取决于创建日期,但查看Cloud Firestore触发器示例,看起来所有事件都只能访问单个文档。有没有办法循环所有文件?
答案 0 :(得分:10)
您通常会在Cloud Functions代码中使用Admin SDK。一旦你有了这个,就像往常一样阅读这个集合。检查firebase documentation on reading all documents from a collection:
中的节点示例const admin = require('firebase-admin'); admin.initializeApp({ credential: admin.credential.applicationDefault() }); var db = admin.firestore(); var citiesRef = db.collection('cities'); var allCities = citiesRef.get() .then(snapshot => { snapshot.forEach(doc => { console.log(doc.id, '=>', doc.data()); }); }) .catch(err => { console.log('Error getting documents', err); });
答案 1 :(得分:0)
有可能。 如果您想将文档放入数组中。没有foreach。
const admin = require('firebase-admin');
admin.initializeApp({
credential: admin.credential.applicationDefault()
});
const docRef = admin.firestore().collection('cities');
docRef.get()
.then(snapshot => {
let arrayR = snapshot.docs.map(doc => {
return doc.data();
});
res.json(arrayR);
}).catch(function(error){
console.log("got an error",error);
})