我一直在使用firebase RTDB,我准备将它迁移到FireStore。
我有与许多其他节点关联的userid。
例如,我有users
、messages
、购买
。
为了将user与其他集合关联,我使用了users_messages/$date/$userid/$messageid
、purches/$date/$userid/$purchaseid
,因为RTDB不支持复杂查询,我希望能够查询特定用户日期范围之间的消息。
现在,我意识到firestore在数据查询方面要比RTDB好得多,并且将具有消息
和日期
和用户
的购买
集合。
在这种情况下,我应该在消息
和购买
集合中存储userid
还是整个user
文档?
从一般意义上说,在NoSQL数据库中存储重复数据的最佳方式完全取决于项目的需求。对每个人都没有一个正确的解决办法。
对于要复制的数据,您必须问一些问题:
如果您的重复数据需要更改并保持同步,那么您可能会很难保持所有这些重复数据都是最新的,并且您可能会花费大量的钱来保持所有这些文档都是新鲜的,因为对于每次更改,都需要对每个文档进行读写操作。
如果您需要查询非常快,您可能希望复制更多的数据,以便客户机只需读取每个查询项目的一个文档,而不是多个文档。但是您也可以依赖于本地客户端缓存,这会降低成本,这取决于客户端必须读取的数据。
最终,对于你是否复制某些数据的选择,高度依赖于你的数据及其特征。你必须逐案考虑。
我是JWT新手,我只是将其作为JSON中的java对象返回,并制作了一些过滤器,以便它可以像Spring Security中的session_id一样工作。 但是我不明白JWT是如何存储在客户端的,在服务器响应之后它会去哪里?它是否由coockies中的所有浏览器自动存储?所有浏览器都支持JWT吗? 我很感激你的回答。
它们都存储3000.0,但我想为我的junit测试存储3000.00。不知道怎么做。
我是C语言的初学者。如果我的问题是蹩脚的,请不要介意。在我写的这个程序中,当我第一次使用“for”循环时,我希望一个数组中只存储3个值,但它存储4个值,在接下来的“for”循环中,如预期的那样显示3个值。我的问题是为什么在第一个for循环中需要4个值而不是3个?
问题内容: 这个问题已经在这里有了答案 : 8年前关闭。 可能重复: telefne号和地址的mysql数据类型 关于将电话号码存储在数据库中的最佳做法有何建议?考虑一个美国电话号码: 555 555 1212 555-555-1212 (555)555 1212 5555551212 1-555-555-1212 1(555)555-1212 等等 … 我应该删除格式并仅存储数字吗?我应该只使用
问题内容: 这个问题已经在这里有了答案 : UTF-8贯穿始终 (15个答案) 5年前关闭。 我将PHP字符集设置为: 我已经将MySQL中的列设置为collation 。 但是,PHP中的以下代码: 在MySQL中产生以下字符: 如何获得符号以正确存储在MySQL中? 问题答案: 确保您的 脚本文件 (包含该行的文件) 编码为UTF-8。您应该在编辑器或IDE的“另存为”对话框中选择一种效果
我的python代码: