Firestore获取node.js服务器上的所有文档.可扩展性



每天晚上12点,我都会用这段代码从我的firestore数据库中获取所有用户。

const usersRef = db.collection('users');
const snapshot = await usersRef.get();
snapshot.forEach(doc => {
let docData = doc.data()
// some code and evaluations
})

我只想知道这是否是一种可靠的方法,可以在不使系统过载的情况下每晚读取所有数据。例如,如果我有5万用户,我想每晚在服务器上更新他们的信息,这会需要大量的服务器端内存吗?此外,有没有更好的方法来处理我试图做的事情,以每晚更新用户数据为通用前提。

您的代码一次加载集合中的所有文档。即使在服务器上,也会在某个时刻耗尽内存。

相反,您需要阅读数量有限的文档,处理这些文档,然后阅读/处理下一批文档,直到完成为止。这被称为通过查询对数据进行分页,确保您可以处理任意数量的文档,而不是只处理可以放入内存的数量。

最新更新