Czy istnieje biblioteka javascript, która pozwoli mi na wyrażanie predykatów obiektów w DSL, podobnie jak w języku zapytań MongoDB? Dla jasności w dużym programie, chciałbym móc powiedzieć:Jaka biblioteka JavaScript może oceniać predykaty zapytań podobnych do MongoDB względem obiektu?
var obj = {
a: 1,
b: 'abcdefg'
}, qry = {
a: { $gt: 0 },
b: /^abc/
};
if(query(qry).matches(obj)) {
// do something appropriate since
}
zamiast:
var obj = {
a: 1,
b: 'abcdefg'
};
if(obj.a>0 && qry.b.test(obj.b)) {
// do something appropriate
}
Używam node.js, więc cokolwiek by na NPM być wspaniałym. Byłaby to dodatkowa premia, gdyby biblioteka mogła wybierać obiekty z tablicy, a także tylko dopasowywać pojedyncze obiekty.
Sprawdziliśmy te dwa inne pytania, ale nie były one szczególnie pomocne dla mojej sytuacji:
- Implementing goMongoDB-like Query expression object evaluation
- Evaluating MongoDB-like JSON Queries in PHP
Możliwy duplikat [Czy istnieje sposób na użycie obiektów zapytań MongoDB do filtrowania zwykłych tablic JavaScript?] (Http://stackoverflow.com/questions/8695718/is-there-a-way-to-use-mongodb- query-objects-to-filter-regular-javascript-arrays) –