【发布时间】:2014-01-03 06:38:24
【问题描述】:
我进行查找并取回一个文档。我也有一套 mongo 规则。我需要将文档与这组规则进行匹配,如果文档与规则匹配,则将规则的名称附加到规则名称子文档。
假设文件是这样的 -
var randomGuy = { name: "Random Guy", age: 45, state: "assam", profession: "coder", ruleNames: [] };
我将它存储在一个 JavaScript 变量中。我也有一套规则,转换成mongodb规则-
var rules = [
{'rule1': { name: /R*/i, age: { $gt: 40 } }},
{'rule2': { state: "karnataka" }},
{'rule3': { age: { $lt: 60 } }},
{'rule4': { $or: [ { profession: 'coder' }, { profession: 'programmer' } ] }}
];
我想遍历规则,将 randomGuy 对象与每个规则进行匹配,并将规则名称附加到 randomGuy 的 ruleNames 属性。所以最终的 randomGuy 对象看起来像这样 -
var randomGuy = { name: "Random Guy", age: 45, state: "assam", profession: "coder", ruleNames: ['rule1', 'rule3', 'rule4'] };
【问题讨论】:
-
我认为你需要实现一个规则引擎来理解你正在使用的规则格式。
标签: javascript mongodb rule-engine