Mongoid 升级到 6.1.0 Invalid collection 报错
Mongoid upgrade to 6.1.0 Invalid collection error
我正在使用 mongo 后端 v.3.4 开发 rails 5.0.2 应用程序
我正在使用 mongoid 作为数据库访问 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)
在此先感谢您的帮助
詹卢卡
将 "inline"=>true
更改为 "inline"=>1
。似乎最近发生了一些未记录的 API 变化。
我正在使用 mongo 后端 v.3.4 开发 rails 5.0.2 应用程序 我正在使用 mongoid 作为数据库访问 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)
在此先感谢您的帮助 詹卢卡
将 "inline"=>true
更改为 "inline"=>1
。似乎最近发生了一些未记录的 API 变化。