MongoDB map/reduce"NoMethodError:未定义的方法`map_reduce'用于#<Moped :: Collection"

jdo*_*dog 1 mongodb mongoid

我试图通过ruby控制台在集合上使用map_reduce,但是我得到了"NoMethodError:未定义的方法`map_reduce'#

results = Thing.collection.map_reduce(map, reduce, out: "vr")
Run Code Online (Sandbox Code Playgroud)

And*_*ere 6

Mongoid 3中的Map Reduce略有不同.您拥有的语法适用于mongo ruby​​驱动程序.在Mongoid 3中,您可以将其称为类或标准,如下所示:

根据标准:

Model.where(field: value).map_reduce(map, reduce).out(inline: true)
Run Code Online (Sandbox Code Playgroud)

来自一个班级:

SomeClass.map_reduce(map, reduce).out(replace: "mr-results").each do |document|
  #do something
end
Run Code Online (Sandbox Code Playgroud)

您可以在Mongoid文档中找到有关此内容的更多信息