-
Type: Task
-
Resolution: Done
-
Affects Version/s: None
-
Component/s: None
-
Labels:
I have this default scope on one app:
default_scope -> { all_of({'$or' => [{:maximum_uses => nil}, {:maximum_uses.gt => :uses}]}, {'$or' => [{:expires_at => nil}, {:expires_at.gt => Time.now}]}) }
For some reason, Model.first fails with the error in the title. Other methods, including Model.all, work perfectly. That's why I'm thinking this is a bug.
Here's the stack trace:
TypeError: keys must be strings or symbols from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/bson-1.6.2/lib/bson/bson_c.rb:24:in `serialize' from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/bson-1.6.2/lib/bson/bson_c.rb:24:in `serialize' from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/mongo-1.6.2/lib/mongo/cursor.rb:604:in `construct_query_message' from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/mongo-1.6.2/lib/mongo/cursor.rb:465:in `send_initial_query' from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/mongo-1.6.2/lib/mongo/cursor.rb:458:in `refresh' from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/mongo-1.6.2/lib/mongo/cursor.rb:128:in `next' from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/mongo-1.6.2/lib/mongo/collection.rb:288:in `find_one' from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/mongoid-2.4.8/lib/mongoid/collections/master.rb:25:in `block in find_one' from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/mongoid-2.4.8/lib/mongoid/collections/retry.rb:29:in `retry_on_connection_failure' from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/mongoid-2.4.8/lib/mongoid/collections/master.rb:24:in `find_one' from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/mongoid-2.4.8/lib/mongoid/collection.rb:60:in `find_one' from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/mongoid-2.4.8/lib/mongoid/contexts/mongo.rb:203:in `first' from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/mongoid-2.4.8/lib/mongoid/criteria.rb:45:in `one' from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/mongoid-2.4.8/lib/mongoid/criterion/inclusion.rb:127:in `find' from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/mongoid-2.4.8/lib/mongoid/finders.rb:84:in `find' from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/mongoid-2.4.8/lib/mongoid/finders.rb:122:in `first' from (irb):16 from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/commands/console.rb:47:in `start' from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/commands/console.rb:8:in `start' from /Users/goncalosilva/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/commands.rb:41:in `<top (required)>' from script/rails:6:in `require' from script/rails:6:in `<main>'
Any hints?
Thanks!