【发布时间】:2020-03-24 18:10:44
【问题描述】:
我正在使用 firestore 为我的应用程序创建一个聊天,我将聊天存储在一个单独的集合中。我的文档结构如下:
{
participant1: "kd94992nnd9",
participant2: "49di9niso3s",
p1Name: "...",
p2Name: "...",
messages: [/*messages are stored her*/],
//Some metadata about the chats
}
如果已经存在具有 2 个用户 ID 的文档,我想确保不创建任何文档。我要在我的数据库结构中进行哪些更改才能在 Firestore 中做到这一点?
【问题讨论】:
-
我会指出您的文档结构无法扩展。单个文档的最大大小为 1MB,如果消息列表变大,您将无法再添加。对于必须能够在没有特定界限的情况下增长的项目列表,它们应该作为单独的文档存在于自己的集合中。
-
是的,我知道并且我打算将消息作为文档的子集合?你认为这会更好地扩展吗?
-
它将无限扩展。聊天应用甚至不可能达到理论上的极限。
标签: android firebase google-cloud-firestore