Mongoid升级到6.1.0收集错误无效

时间:2017-05-12 15:37:08

标签: ruby-on-rails mongodb mongoid

我正在使用mongo后端v.3.4开发rails 5.0.2应用程序 我正在使用mongoid作为db access gem。 从mongoid 6.0.x升级到6.1.0,我的map reduce计算抛出异常:

Mongo::Error::OperationFailure: Invalid collection name: db_development (73)

我可以在运行测试中看到异常(升级前全部为绿色)。 同样在控制台(rails c)中尝试也会出现相同的异常。

map = "function() { emit(this.id, 1) }"
reduce = "function(key,values) { return Array.sum(values) }"
mr = qs.map_reduce(map,reduce).out(inline: true)
=> #<Mongoid::Contextual::MapReduce
  selector: {"Book_id"=>BSON::ObjectId('58ef26cf01e5ba1fc2316696')}
  class:    Title
  map:      function() { emit(this.id, 1) }
  reduce:   function(key,values) { return Array.sum(values) }
  finalize: 
  out:      {"inline"=>true}>

mr.each do |m|
  p m
end

Mongo::Error::OperationFailure: Invalid collection name: db_development (73)

提前感谢您的帮助 詹卢卡

1 个答案:

答案 0 :(得分:3)

"inline"=>true更改为"inline"=>1。似乎最近发生了一些未记录的API更改。