是否有一个用于反向查找的数据库,该数据库的文档中有约束,而不是在查询时有约束?

时间:2018-12-19 09:29:53

标签: database postgresql elasticsearch nosql

我的一个项目有问题。我有一些事件应适用于某些用户,但不是全部。用户是否要应用事件之一的决定会动态集成到文档中。

一个例子:

--------------------------------------------
| event     | constraints                  |
--------------------------------------------
| kill      | age > 67                     |
| give_cake | latestGrade == 'A'           |
--------------------------------------------

现在,如果我向数据库这样提供样本,它将返回两个文档。

{ "age" = 80, "latestGrade": "A" }

对于这一行,它只能匹配一行:

{ "age" = 80 }

我知道这很具体,我知道我可以自己遍历所有文档并自己应用约束来自己编写程序。

我正在寻找一种工作原理类似或可以应用于此类问题的技术。如果您不知道这种事,您可以给我一个思路,即如何以比遍历所有记录更好的方式解决此问题(也许以某种方式编译约束?)。约束也应该是可组合的(AND / OR和Parantheses)。

现在我们在项目中使用Redis,Elasticsearch和PostgreSQL,所以也许这些技术中已经有一些我不知道的时髦功能?

0 个答案:

没有答案