我正在寻找一个用于资金管理的应用程序,目标是跟踪费用和收入,我不确定如何设计数据库,应该将所有transactions
放在同一路径还是使用下面的示例?
这种方法之所以有效,是因为我可以轻松地确定要从数据库中提取哪些数据,例如,今年我可以通过检查20190101
和20191231
之间的路径来获取数据。
上个月是20190401
/ 20190428
,缺点是有些月份没有确切的天数,但我不认为这会引起问题,路径编号始终是31岁以下。
由于唯一的ID,它添加了另一个节点,因此在客户端,数据将嵌套两次,以执行具有挑战性的计算。
如何轻松根据日期查找一些数据?我想这是此应用程序中最重要的参数,如果我必须进行10,000笔交易来查找上个月的更改或当前周的余额,这意味着很少用户可以消耗大量资源,我敢肯定它很快,我尝试过,但是性能不好。我正在寻找可以在不增加资源负担的情况下进行扩展的东西。
PS:此Firebase,NOSQL数据库。有多个钱包,有时我可能需要当前的总余额或总零钱。每笔交易都有一个类别。
答案 0 :(得分:0)
我使用上面的问题演示的方法结束了它,它非常可靠并且即使使用NOSQL也可以正常工作。在节点之间实现关系将在某种程度上具有挑战性,但是我们将看看它如何进行。