【发布时间】:2013-07-16 12:48:41
【问题描述】:
我最近开始研究 MongoDB 的工作项目。我对 JSON 和 MongoDB 的查询结构还很陌生,所以我希望你们中的一位可以提供一些说明。
我已将问题翻译成 Excel 术语,因为它很常见并且很好地代表了我的问题。
如果我尝试将 Excel 公式建模到 MongoDB 文档中,最好的格式是什么(我将在下面解释我的潜在查询)?请记住,Excel 中的公式可以(几乎)以任何顺序和任何深度嵌套,并且参数可以以字符串或数字形式出现。我希望能够在这些单元格中搜索以回答诸如“查找所有使用 =AVG() 函数的单元格”或“查找包含 =AVG() 函数内的 =SUM() 函数的所有单元格”之类的查询(例如 =AVG(x,y,z,SUM(a,b,c)))。”如果无法回答所有问题,则能够回答这些基于公式结构的查询比回答有关数字或字符串的问题更重要。
目前我设想我的文档大致具有以下格式:
{
formula: "AVG",
arguments: [4,5, {
formula: "SUM",
arguments: [6,7,{
formula: "ABS",
arguments: [-8,-9]
(closing parenthesis/brackets)
}
对于我想要做的事情来说,这是一个合理的格式吗?如果是,我将如何查询“在 =AVG 内查找 =SUM 的案例”?如何找到嵌套更深的 =ABS 公式?由于公式的动态特性,实际上不可能期望一定的顺序或一定的深度。
【问题讨论】:
-
仅供参考,您可以将
=SUM和=AVG之类的内容放在反引号内(通常与 ~ 在同一键上),因为这些代码属于内联代码。欢迎使用 StackOverflow! -
@mohawkjohn 我确实读过有关内联代码的内容,但我真的认为 Excel 公式不够酷,值得采用性感的代码格式。如果您认为这有助于其他人理解我的问题,我会更改它。
-
鉴于您想要进行的查询的描述,我不一定认为这非常适合 MongoDB。这听起来更像是您可能想要考虑一个允许更复杂的“子/祖先”类型搜索的图形数据库。
-
非常好的问题,谢谢。这让我在投入太多精力之前离开了 MongoDB,转而去研究图形数据库。干杯。
标签: mongodb recursion pymongo database