Я нахожу и получаю один документ обратно. У меня также есть набор правил монго. Мне нужно сопоставить документ с этим набором правил, и если документ соответствует правилу, добавьте имя правила в под-документ имени правила.Как сопоставить документ 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 против каждого и добавить имена правил собственности ruleNames в randomGuy в. Таким образом, конечный объект randomGuy выглядит следующим образом -
var randomGuy = { name: "Random Guy", age: 45, state: "assam", profession: "coder", ruleNames: ['rule1', 'rule3', 'rule4'] };
Я думаю, вам понадобится реализовать механизм правил, который понимает используемый вами формат правил. – robertklep
Возможный дубликат [какая библиотека Javascript может оценивать предикаты запросов, специфичные для MongoDB, для объекта?] (Http://stackoverflow.com/questions/15397668/what-javascript-library-can-evaluate-mongodb-like-query-predicates -against-an-ob) – Stennie