我计划使用NodeJS api从Firestore数据库查询大量数据。使用stream api(https://cloud.google.com/nodejs/docs/reference/firestore/0.13.x/Query?#stream)而不是reqular query get(https://cloud.google.com/nodejs/docs/reference/firestore/0.13.x/Query?#get)有什么好处吗?
我的印象是流媒体在内存消耗方面更有效率。
我的查询环境是Firebase功能。
答案 0 :(得分:0)
是的,使用 stream
而不是 get
会减少您的 Cloud Function 的内存消耗!我亲身体验过:当我用流替换 get 时,我函数的内存从 1GB 变成了 200MB。
要提供更多详细信息:使用 Node.js Admin SDK,以便访问您的数据:
答案 1 :(得分:-1)
区别在于您获取数据的频率:
get
会尽快获取一次数据。stream
一次获取数据,并在数据更新时为您提供数据。如果您在用户界面中显示数据,并且希望在数据库中发生更改时自动更新数据,则后者非常方便。
为了更好地解释这一点,我建议在getting data和listening for realtime updates上使用Firebase文档。