Google cloud firestore Firestore:读取带有引用的数据的请求数量是否会增加?

Google cloud firestore Firestore:读取带有引用的数据的请求数量是否会增加?,google-cloud-firestore,Google Cloud Firestore,当读取firestore上的文档时,firestore不会提供引用数据(如果有)。所以目前我正在请求firestore从引用路径获取数据。这是否会增加对服务器的请求数量,最终降低性能并增加定价?存储引用对从服务器请求数据有何帮助?读取具有引用的文档将视为读取该文档。读取引用的文档计数为读取另一个文档。所以总共是两次阅读 这里没有隐藏的成本膨胀:如果服务器要自动遵循引用,它还必须读取这两个文档 如果您想最小化所读取的文档的数量,可以考虑将引用文档中需要的最小数据添加到包含引用的文档中。例如,如果您

当读取firestore上的文档时,firestore不会提供引用数据(如果有)。所以目前我正在请求firestore从引用路径获取数据。这是否会增加对服务器的请求数量,最终降低性能并增加定价?存储引用对从服务器请求数据有何帮助?

读取具有引用的文档将视为读取该文档。读取引用的文档计数为读取另一个文档。所以总共是两次阅读

这里没有隐藏的成本膨胀:如果服务器要自动遵循引用,它还必须读取这两个文档

如果您想最小化所读取的文档的数量,可以考虑将引用文档中需要的最小数据添加到包含引用的文档中。例如,如果您有聊天应用程序:

  • 您可能希望在消息本身中包含发布消息的每个用户的显示名称,这样您就不必阅读用户的配置文件文档
  • 如果你这样做,你必须考虑如果用户更新他们的显示名称,该怎么做。有关一些选项,请参见我的答案:
  • 用户的数量可能小于聊天信息的数量(并且在特定的时间范围内受到限制),使得读取链接文档的数量低于信息的数量
  • 通过复制数据,您可能会增加带宽使用率,尤其是当用户数量远低于消息数量时
这归结为:您可能过早地进行了优化,但即使不是这样,也没有一刀切的方法。NoSQL数据建模取决于应用程序的用例,Firestore也不例外