【发布时间】:2012-07-23 18:17:54
【问题描述】:
我们现在正在为一个项目选择一个数据库。候选人是 mongodb 和 postgres。我们的用户需要定义条件逻辑,例如用户定义条件(作为字符串)“x 发生”、“y 离开”等,然后可以将它们连接到条件“如果 x 发生 AND(y 离开 OR z 出现)......”。
在单个 json 文档中执行此操作似乎比在关系数据库中更具可读性。
你有什么方法可以在 postgres 中合理地建模吗?我知道 postgres 9.2 将支持 json,但查询功能似乎很笨拙。
在 mongo 中,动词(“x发生”)将在条件之间重复。动词更新将影响多行。你觉得这里有问题吗?
编辑:mongo 文档可能如下所示:
{
"where":
[1,"x happens"],
"and":
{ "where":
[2,"y leaves"],
"or":
[3,"z comes"]
}
}
【问题讨论】:
-
与 MongoDB 相关;您能否提供一个示例文档布局以及可能的查询?描述很难想象。
-
您能否举例说明您对查询此数据的要求?
-
@Ross - 我还不知道。我想让我的系统对诸如“使用'y叶'的所有条件”之类的查询保持开放。可读性和可维护性也很重要。
-
如果它是任意嵌套的,那么在 mongoDB 中很难查询,所以示例模式不起作用。
标签: mongodb postgresql schema-design database nosql