首页 > web前端 > js教程 > 如何在单次往返中高效地获取多个 Firestore 文档?

如何在单次往返中高效地获取多个 Firestore 文档?

Linda Hamilton
发布: 2024-12-13 07:18:12
原创
242 人浏览过

How Can I Efficiently Fetch Multiple Firestore Documents in a Single Round Trip?

Firestore 性能:通过单次往返高效获取多个文档

使用 Firestore 时,检索多个文档可能会成为性能问题,尤其是在处理每个文档的单独请求时。为了优化数据检索,必须利用允许通过一次往返数据库来获取多个文档的功能。

使用 getAll() 方法

对于用 Node.js 编写的服务器端应用程序,getAll() 方法提供了一种通过单个网络调用检索多个文档的便捷方法。它接受可变数量的 DocumentReference 对象作为参数,并返回一个包含 DocumentSnapshot 对象数组的 Promise。

示例:

const firestore = getFirestore();
const docRef1 = firestore.doc('col/doc1');
const docRef2 = firestore.doc('col/doc2');

firestore.getAll(docRef1, docRef2).then(docs => {
  console.log(`First document: ${JSON.stringify(docs[0])}`);
  console.log(`Second document: ${JSON.stringify(docs[1])}`);
});
登录后复制

IN 查询高效文档检索

Firestore 最近引入了 IN查询,它提供了一种更有效的方法来按指定 ID 获取多个文档。通过使用 FieldPath.documentId() 和 'in' 运算符,您可以构建基于 ID 列表返回文档的查询。

示例:

const firestore = getFirestore();
const query = firestore.collection('col').where(firestore.FieldPath.documentId(), 'in', ["123", "456", "789"]);

query.get().then(docs => {
  docs.forEach(doc => {
    console.log(`Retrieved document with ID: ${doc.id}`);
  });
});
登录后复制

结论:

通过利用 getAll() 方法或 IN 查询,开发人员可以优化其 Firestore 数据检索操作并减少数据库的往返次数。这种方法增强了应用程序的性能和响应能力,特别是在检索多个文档或执行复杂查询时。

以上是如何在单次往返中高效地获取多个 Firestore 文档?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板