2

我正在尝试通过 ruby​​ 控制台在集合上使用 map_reduce,但我收到“NoMethodError: undefined method `map_reduce' for #

results = Thing.collection.map_reduce(map, reduce, out: "vr")

Mongoid 3 中的 Map Reduce 的工作方式略有不同。您拥有的语法适用于 mongo ruby​​ 驱动程序。在 Mongoid 3 中,您将其从类或标准中调用,如下所示:

从一个标准:

Model.where(field: value).map_reduce(map, reduce).out(inline: true)

从一个类:

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

您可以在Mongoid 文档中找到更多信息

4

1 回答 1

7

Mongoid 3 中的 Map Reduce 的工作方式略有不同。您拥有的语法适用于 mongo ruby​​ 驱动程序。在 Mongoid 3 中,您将其从类或标准中调用,如下所示:

从一个标准:

Model.where(field: value).map_reduce(map, reduce).out(inline: true)

从一个类:

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

您可以在Mongoid 文档中找到更多信息

于 2012-11-30T05:53:02.343 回答