【问题标题】:DocumentDb and how to create folder?DocumentDb 以及如何创建文件夹?
【发布时间】:2014-12-30 16:28:34
【问题描述】:

documentdb 新手,我正在尝试确定存储文档的最佳方式。我们每 15 分钟上传一次文件,我需要通过上传尽可能轻松地将它们分开。乍一看,我以为每次上传都可以有一个数据库和一个集合。然后,我发现每个数据库只能有 3 个集合。这让我要么添加命名约定,要么尝试使用文件夹和路径。根据同一来源 (http://azure.microsoft.com/en-us/documentation/articles/documentdb-limits/),每个集合的路径限制为 100 个。这会留下文件夹。我一直在寻找,但我没有找到任何关于在集合中创建文件夹的具体内容。对象 API 没有明显的添加/创建方法。

这可能吗?如果是这样,我们是否限制在多少(假设我保持在允许的集合/数据库大小范围内)?

【问题讨论】:

  • 你的情况是什么文件? JSON 数据文档或类似 Word 文档的文档?对于第二个,您可以查看attachments。然而,为什么要为每个文档创建一个新集合?路径的限制与您可以使用的索引有关。
  • 我正在寻找一个逻辑聚合,因为明年这个时候会有很多文档。我们正在存储 JSON 结果。就目前而言,我可以将结果转储到一个集合中并生成一个 id。简单的查询可以工作,但我希望按月/年或其他一些逻辑聚合器进行分组,这样我们就不必查询整堆文档。然而,这是我似乎对我开放的课程。我正在探索如何使用文档数据库工作室 (studiodocumentdb.codeplex.com) 进行复杂/快速的查询。文件夹创建选项很适合:)
  • 对于其他找到这篇文章的人来说,我们最终所做的只是将所有内容都倾倒到一个集合中。 azure documentdb 查询语言(即类似 sql)似乎足够强大,可以处理详细查询。虽然我不确定一旦我们在那里有大量文件,效率会如何。
  • @ProgramTheWorld - 如果您找到了解决方案并希望人们在未来看到它,您应该将其发布为答案,而不是评论.

标签: directory azure-cosmosdb


【解决方案1】:

您可以定义顺序命名约定并在集合索引策略上创建范围索引。这样,如果您需要检索一系列文档,您可以这样做,这将有效地利用 docdb 的索引功能。

作为建议,您可以检查在测试期间触发的请求的收费响应标头。这使您可以衡量您的设置的效率(它对 Db 的严格程度,这将转化为您的服务成本结构)

【讨论】:

  • 我要感谢 Luis,因为这是看起来最接近某种聚合分组的方法。
【解决方案2】:

对评论感到抱歉。我们最终所做的只是将所有内容都倾倒到一个集合中。 azure documentdb 查询语言(即类似 sql)似乎足够强大,可以处理详细查询。虽然我不确定一旦我们在那里有大量文件,效率会如何。

【讨论】:

    猜你喜欢
    • 2011-08-03
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    • 2016-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多