2015-11-03 5 views
0

Может ли кто-нибудь мне помочь? Почему возвращаемое значение строки ['TimeInBucket1']. Eq (0) не является True или False ???? IrethinkDB eq (0) возвращаемое значение не является встроенным булевым типом?

Вот код в питоне

def map1(row): 
    flgTB1 = row['TimeInBucket1'].eq(0) 

    return {'nMX1Pop': 0 if flgTB1 else 1 , 
      'meanMX1Pop':0.0 if flgTB1 else row['MX1'], 
      'varMX1Pop': 0.0 if flgTB1 else row['MX1']*row['MX1'] 
      } 

cursor = r.db(dbName).table(tableName).map(map1).run(connection) 
+0

Какова обратная стоимость? –

ответ

0

Вы используете Питон if/else, который оценивается на клиенте. Вы должны использовать r.branch, чтобы сделать это на сервере (так r.branch(flgTB1, 0, 1) вместо 0 if flgTB1 else 1).

+0

Спасибо, он работает. Но постыдно, что ограничения запросов переопределяют синтаксис языка. –

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