如何在 RethinkDB 中链接多个条件?这就是我现在得到的,如果我只传递live
或 sports
作为参数,它会起作用。一旦我传递了live
andsports
参数,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) {
// ...
});
});