文档参考会增加阅读次数吗?

241*_*116 2 firebase flutter google-cloud-firestore

我有一个users收藏和一个rentals收藏。文档rental有一个用于租赁该项目的用户的字段,存储为文档引用 ( rentalDocumentSnapshot['renter'] = /users/<some id here>)。要查询您作为租户的所有租金,我只需传递到一个流中:

Firestore.instance.collection('rentals')
    .where('renter', isEqualTo: Firestore.instance.collection('users').document(myUserID))
    .snapshots()
Run Code Online (Sandbox Code Playgroud)

调用会Firestore.instance.collection('users').document(myUserID)创建读取吗?那么,将用户 ID 作为字符串而不是文档引用存储在租赁中会更好吗?

Dou*_*son 5

创建 DoucumentReference 不会导致读取。您必须实际get()阅读该文档才能阅读它。您可以将引用视为指向文档的指针。

存储引用而不是 ID 或路径不一定更好或更坏。这主要是一个方便和偏好的问题。引用通常更容易使用,因为您不必构建该引用,但正如我所说,构建该引用是免费的。引用通常会存储更多数据,因为它存储文档的整个路径,而不仅仅是 ID。