是否有一个 javascript 库可以让我在类似于 MongoDB 查询语言的 DSL 中表达对象谓词?为了在大型程序中清晰起见,我想说:
var obj = {
a: 1,
b: 'abcdefg'
}, qry = {
a: { $gt: 0 },
b: /^abc/
};
if(query(qry).matches(obj)) {
// do something appropriate since
}
代替:
var obj = {
a: 1,
b: 'abcdefg'
};
if(obj.a>0 && qry.b.test(obj.b)) {
// do something appropriate
}
我正在使用 Node.js,所以NPM上的任何东西都会很棒。如果库可以从数组中选择对象以及匹配单个对象,那将是一个额外的好处。
我回顾了这两个相关的问题,但它们对我的情况并不是特别有帮助: