我的系统中有一个实体,会在很短的时间内添加很多评论。
我是否正确地说,如果我阅读文档然后修改其中的内容,整个对象会被持久存回商店?
如果这是正确的,那么加载和存储一个带有5000个注释的对象只是为了让我可以添加注释看起来有点太多了?
我应该将每条评论存储为文档,然后在文档集中扫描特定密钥吗?我还需要能够快速找到评论并进行修改。
答案 0 :(得分:1)
一份大型文件
如果您想将所有评论存储在一个文档中,您将遇到一些问题:
优点:
多个馆藏
我猜的最佳选择是将注释和主要对象拆分为两个集合,并通过id将每个注释链接到主对象。 这样,您可以添加和编辑单个注释,以及通过查询检索所有文档。这样,您可以在评论集合上运行更复杂的查询 - 例如,按用户获取所有评论等。
缺点:
虽然您必须知道 OrderBy子句尚不支持,但您可能会遇到检索例如最近10条评论等问题。
可能的替代
不确定您必须支持哪些其他操作/查询。但是,如果它只是CRUD,检索主对象的注释列表并可能获得最后的x注释,您可以考虑使用Azure Table,其中:
通过这种方式,您可以非常快速地检索和更新评论实体,并且可以按时间查询