I'd recommend my project I'm working on called jLinq. I'm looking for feedback so I'd be interested in hearing what you think.
If lets you write queries similar to how you would in LINQ...
var results = jLinq.from(records.users)
//you can join records
.join(records.locations, "location", "locationId", "id")
//write queries on the data
.startsWith("firstname", "j")
.or("k") //automatically remembers field and command names
//even query joined items
.equals("location.state", "TX")
//and even do custom selections
.select(function(rec) {
return {
fullname : rec.firstname + " " + rec.lastname,
city : rec.location.city,
ageInTenYears : (rec.age + 10)
};
});
It's fully extensible too!
The documentation is still in progress, but you can still try it online.