我正在尝试跟踪每日“吞咽”计数,并且用户需要能够查看过去30天中任何一天的吞咽计数,但是可以投掷超过30天的数据。无法保证用户每天都会使用该应用程序。
我能想到的唯一方法是在数据库中创建30个数据列,过去30天每个列都有一个。然后,在午夜,云代码功能将自动运行并将所有值移动到左侧的列中。
我想知道是否有更好的方法可以将所有这些数据存储在一个数据列中,而不是30个。
答案 0 :(得分:0)
这是一个相当复杂的问题,这对于stackoverflow问题并不合适。您实际上是在请求某人从头开始为您设计数据库。话虽这么说,这里有点点形式的建议,让您开始了解您所需的功能:
在您的数据库上有一个名为swallowCount的对象。添加日期字段。
为您的用户在数据库中设置一个对象。将字段添加到用户类,该用户类是swallowCounts数组。
创建后台作业,每天运行一次并循环浏览每个用户。让后台作业为该用户创建当天的swallowCount对象。将此swallowCount添加到swallowCounts的users数组中。
为用户创建一个afterSave方法。保存用户后,检查swallowCounts数组的长度。如果长度> 30,从数组中删除最早的swallowCount对象(通过日期字段)。
希望这有助于您入门。很难(不可能)提供如何做你想做的代码示例,因为问题是如此广泛。