Das ist ziemlich seltsames Verhalten. Ich habe Ihren Code gerade lokal ausgeführt und alles hat funktioniert. Können Sie überprüfen, ob Sie die Treiberversion 0.18.2 verwenden? Wenn dies der Fall ist, vergewissern Sie sich, dass dies die einzige installierte Version ist (nur als Plausibilitätsprüfung).
Ich denke nicht, dass es einen Unterschied machen sollte, aber ich habe #group nicht von MongoMapper ausgeführt – ich habe den Edelstein allein verwendet. Das könntest du auch versuchen. Hier ist der Code, den ich ausgeführt habe:
require 'rubygems'
require 'mongo'
d = Mongo::Connection.new.db('blog')
c = d['post']
p c.group("function(x) { return { month: x.date.getMonth(), year:x.date.getFullYear() }; }",
nil,
{ :count => 0 },
"function(x,y){y.count++}",
true)