Có thư viện javascript nào cho phép tôi thể hiện các biến vị ngữ đối tượng trong DSL tương tự như ngôn ngữ truy vấn MongoDB không? Vì lợi ích của sự rõ ràng trong một chương trình lớn, tôi muốn để có thể nói:Thư viện Javascript nào có thể đánh giá các vị từ truy vấn giống MongoDB đối với một đối tượng?
var obj = {
a: 1,
b: 'abcdefg'
}, qry = {
a: { $gt: 0 },
b: /^abc/
};
if(query(qry).matches(obj)) {
// do something appropriate since
}
thay vì:
var obj = {
a: 1,
b: 'abcdefg'
};
if(obj.a>0 && qry.b.test(obj.b)) {
// do something appropriate
}
Tôi đang sử dụng Node.js, vì vậy bất cứ điều gì trên NPM sẽ thật tuyệt. Nó sẽ là một tiền thưởng thêm nếu thư viện có thể chọn các đối tượng ra khỏi một mảng cũng như chỉ phù hợp với các đối tượng riêng lẻ.
tôi xem xét hai câu hỏi liên quan, nhưng họ không phải là đặc biệt hữu ích cho tình hình của tôi:
- Implementing goMongoDB-like Query expression object evaluation
- Evaluating MongoDB-like JSON Queries in PHP
Bản sao có thể có của [Có cách nào để sử dụng các đối tượng truy vấn MongoDB để lọc các mảng JavaScript thông thường không?] (Http://stackoverflow.com/questions/8695718/is-there-a-way-to-use-mongodb- query-objects-to-filter-regular-javascript-array) –