问题描述
r.db('development').table('responses').filter({
survey_id: 9
}).concatMap(r.row.getField('numerical_answers')).filter({
type: 'CustomerEffortAnswer'
}).sum('number')
...我想在 NoBrainer 工作,因为我似乎无法让它在 Ruby on Rails 上工作。当我尝试像这样在 Rails 中只运行 ReQL 时......
NoBrainer.run do |r|
return_count = r.db('development').table('responses').filter({ survey_id: id }).concatMap(r.row.getField('numerical_answers')).filter({type: 'CustomerEffortAnswer'}).sum('number')
end
...我收到错误:
Sorry,r.row is not available in the ruby driver. Use blocks instead.
解决方法
需要将代码转换为 Ruby 语言:
return_count = NoBrainer.run do |r|
r.db('development').table('responses')
.filter({:survey_id => 9})
.concat_map { |doc| doc[:numerical_answers] }
.filter({:type => 'CustomerEffortAnswer'})
.sum('number')
end