使用appengine数据存储,但这可能是不可知的,不知道。
假设一个名为Comment的数据库实体。每个Comment都属于一个User。到目前为止,每个Comment都有一个date属性,相当标准。
我想要一些可以让我这样做的东西:指定一个User并返回一个带字典的ish(来自python背景,请原谅)。哈希表,映射,但应在此上下文中调用)数据结构,其中:
关键:每个出现在date评论中的User
值:Commentsdate上生成。
我想我可以自己在一个日期范围内迭代创建一个这样的地图,但我严重怀疑我是否需要在这里“发明”我自己的解决方案。
有什么方法/工具/技术可以做到这一点吗?

最佳答案

数据存储同时支持引用和列表属性。我们可以通过两种方式建立一对多的关系:
父(用户)具有包含子实体(注释)键的列表属性。
子项具有指向父项的键属性。
既然你需要按日期限制评论,你最好选择第二种。然后,您可以查询date=somedate(或date range)和user=someuserkey的注释。
数据存储中没有本机分组功能,因此要按日期“分组”,可以向查询中添加按日期排序。当你在结果上迭代时,当日期改变时,你可以使用/存储它作为一个分组键。
更新
不设计sql数据库应该是面向访问的(与sql中面向数据模型的数据库相比):对于经常使用的操作,您应该尽可能便宜地(即尽可能少的操作)获取数据。
因此,根据经验,在一次操作中,您应该只获取此时所需的数据(=在该页上显示给用户)。我不确定你的应用程序的设计,但我怀疑你需要所有用户的完整评论(文字和一切)在同一时间。

关于database - 数据存储:按属性值对实体进行“分组”? (例如字典/ map ?),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9349400/

10-12 22:07
查看更多