2014-11-09 2 views

ответ

2

В общем, " Ожидаемая ошибка типа DATUM, но найденная ошибка SELECTION "может быть решена путем добавления .coerceTo('array'):

var tab = r.db("test").table("test"); 
all =[ 
    tab.getAll('1').filter({'hidden': false}).limit(1).coerceTo('array'), 
    tab.getAll('2').filter({'hidden': false}).limit(1).coerceTo('array'), 
    tab.getAll('3').filter({'hidden': false}).limit(1).coerceTo('array') 
] 

Но в данном конкретном случае, вы можете заменить .limit(1) с .nth(0):

var tab = r.db("test").table("test"); 
all =[ 
    tab.getAll('1').filter({'hidden': false}).nth(0), 
    tab.getAll('2').filter({'hidden': false}).nth(0), 
    tab.getAll('3').filter({'hidden': false}).nth(0) 
] 
+0

Стоит ли делать '.limit (1) .nth (0)' вместе? В других словах - rethinkdb использует ту же оптимизацию для 'nth', что и для' limit' в этом случае? –

Смежные вопросы