Как связать несколько условий в RethinkDB? Это то, что я получил прямо сейчас, и что работает, если я только передаю live
илиsports
в качестве параметра. Как только я передаю параметр live
и sports
, sports
, очевидно, всегда перезаписывает переменную filter
, а параметр live
игнорируется.Динамические условия цепного фильтра
app.get('/bets', function (req, res) {
var live = req.query.live;
var sports = req.query.sports;
var filter = {};
if (live === undefined) {
filter = r.or(r.row('live').eq(0), r.row('live').eq(1));
} else {
filter.live = parseInt(live);
}
if (sports !== undefined) {
var sports = sports.split(',');
filter = function (doc) {
return r.expr(sports).contains(doc("sport"));
}
}
r.table('bets').filter(filter).limit(100).run(connection, function(err, cursor) {
// ...
});
});
Все еще не мог заставить его работать, никаких идей? – Chris