减少阅读Firebase Firestore集合中的文档

佩佩

我有一个网络应用程序,它是使用angular 6和google-clod-firestore开发的,可从客户那里订购以交付书籍;目前有两个组件

  1. CRM组件
  2. 下订单组件

当客户打电话时,它将弹出在CRM中,并重定向到下订单页面。成功下订单后,它将再次重定向到CRM页面。

下订单组件将显示所有可用的书籍,这些书籍来自名为“ books”的馆藏,大小为1000;

因此,每次进入订购页面时,它都会读取1000个文档,这会产生可观的成本。我的问题是如何减少此读取。是否可以将读取操作限制为一次。

目前,我使用shareReplay和singleton服务实现了逻辑,但我不知道这是否是正确的实现;

这是代码

SingeltonService.ts
 -------------------------


export class SingeltonService {
source: Observable<any>;
aa: any;
bb: any;

constructor(private afs: AngularFirestore) {
console.log('new instance created!');
this.source = this.afs.collection('test- 
collection').valueChanges().pipe(
  tap((docs) => { console.log(`Read ${docs.length} docs`); }), 
shareReplay(1));
this.aa = this.source.subscribe()
this.bb = this.source.subscribe()

  }
}


 Order-Plcaing-component.ts
 -------------------------
export class OrderPlacingCompnent implements OnInit {

constructor(private singelton: SingeltonService){}

 ngOnInit() {}
 }
弗兰克·范普菲伦

一种选择是生成一个文档,其中包含您要在该订单页面上显示的所有信息。可能是每本书的ID和书名,但是您可能会为一本书存储更多的信息,但不会显示在订购页面上。由于此合成文档中的所有数据都放在一个页面上,因此它应该很好地适合文档大小的1MB限制。

这种方法在NoSQL数据库中非常普遍,在NoSQL数据库中,您经常对数据更改进行额外的工作,以使后续读取变得更简单/更便宜。由于读取通常更常见,因此使读取更具可伸缩性。

有关此示例的更多示例,请参见视频如何以出色的方式了解Cloud Firestore服务。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用集合更新 firebase firestore 文档中的字段

如何检索集合中的所有文档并查看Firebase Firestore中是否存在文档?

从 Firebase 的 Cloud Firestore 中删除文档会删除该文档中的任何子集合吗?

如何在 Firebase Firestore 的每个文档的子集合中获取文档?

Firebase Firestore 检查文档是否有集合

如何将子集合中的所有文档获取到Firebase Firestore中的RecyclerView

如何根据 dart/flutter 中的日期从 firebase/firestore 集合中检索 1 个文档?

使用云函数 onCreate 从 firebase firestore 中 onCreate 的集合/文档中检索数据

如何从 Firebase 集合中的 Firestore 文档中获取单个字段?

获取Firebase Firestore集合中的上一个创建的文档

是否可以获取 Firebase Cloud Firestore 数据库中可用集合的文档 ID?

Firebase Firestore:是否可以对集合中的所有文档强制执行必填字段?

如何使用firebase firestore flutter的自动生成的ID删除集合中的特定文档?

如何使用 Swift 从 Firebase Cloud Firestore 获取集合中的最新文档

如何在Firebase / Google Cloud Firestore的集合中获取最新添加的文档?

Firebase Firestore的火花计划中可以加载多少个文档集合?

使用 firebase 云功能将所有文档从 Firestore 中的主集合复制到新的子集合

Firebase Firestore:在集合中创建集合

阻止用户阅读 Firestore 中的整个集合?

当我们有很多用户阅读同一个集合时,如何减少 Firestore 文档的读取

Firebase Firestore 克隆文档子集合和数据

Firebase Cloud Firestore的成本优化模式:通过集合获取文档

Firebase Firestore:如何按集合监视读取的文档数?

获取集合中的所有文档后,无法将字段添加到ArrayList,Android Studio,Java,Firebase Firestore

使用 Firestore 和 Firebase 云函数,您如何迭代具有嵌套在子集合中的特定 ID 的文档?

Firebase 呈现集合中的每个文档

Firebase获取集合中的文档长度

从用户集合Firebase中获取每个文档

什么是sql中的firebase集合和文档?