有没有一个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的东西都很好.如果库可以从数组中 Select 对象,并且只匹配单个对象,这将是一个额外的好处.
我回顾了这两个相关的问题,但它们对我的情况没有特别的帮助: