我正在android聊天应用程序中使用cloud firestore,我想将所有消息(传入和传出,基本上维护设备的消息历史记录)存储在文档的数组列表中,但是文档的最大大小为1MB。当我尝试存储消息时,如果文档大小超过1MB,会发生什么情况
在编写之前是否有可用的API获取文档的大小?
请建议我使用Firestore维护消息历史记录的更好方法吗?
答案 0 :(得分:0)
当我尝试存储消息时,如果文档大小超过1MB,会发生什么情况
不能超过文档的大小。您只能使用1MiB。
在编写之前是否有任何API可用于获取文档的大小?
据我所知,没有API可以做到这一点。
请向我建议使用Firestore维护消息历史记录的更好方法吗?
将所有历史消息作为文档存储在集合中。如果您有兴趣,可以在how to structure a Firestore database上找到有关聊天应用程序的教程。
答案 1 :(得分:0)
如果文档大小超过1MB。它将引发这样的错误:“错误:3 INVALID_ARGUMENT:无法写入文档,因为它超出了允许的最大大小。”
我也认为没有用于获取文档大小的API。 一种方法是,您可以从集合中获取全部数据并进行字符串化处理,删除空格并计算字符数,然后根据文档https://firebase.google.com/docs/firestore/storage-size
添加一个缓冲区值