Search code examples
ruby-on-railsmongodbmongoidrails-admin

Rails: Wrong number of arguments (given 2, expected 1) MongoID


I'm trying to open my MongoDB models, however, I'm getting the following error:

MONGODB | xxx.xx.x.xxx:27017 | db.find | FAILED | wrong number of arguments (given 2, expected 1) | 0.013306s

My Mongo credentials are correct, and I can connect to the database's collections outside of Rails.

The first few lines of the error are:

Started GET "/admin/xsl_sheet" for xxx.xxx.xxx.xxx at 2020-03-03 13:49:54 UTC
Processing by RailsAdmin::MainController#index as HTML
Parameters: {"model_name"=>"xsl_sheet"}
(5.0ms)  SELECT `companies`.`name` FROM `companies` WHERE `companies`.`id` = 4
CACHE (0.1ms)  SELECT `companies`.`name` FROM `companies` WHERE `companies`.`id` = 4  [["id", "4"]]
CACHE (0.2ms)  SELECT `companies`.`name` FROM `companies` WHERE `companies`.`id` = 4  [["id", "4"]]

MONGODB | xxx.xx.x.xxx:27017 | db.saslStart | STARTED | {}
MONGODB | xxx.xx.x.xxx:27017 | db.saslStart | SUCCEEDED | 0.007s
MONGODB | xxx.xx.x.xxx:27017 | db.saslContinue | STARTED | {}
MONGODB | xxx.xx.x.xxx:27017 | db.saslContinue | SUCCEEDED | 0.006s
MONGODB | xxx.xx.x.xxx:27017 | db.saslContinue | STARTED | {}
MONGODB | xxx.xx.x.xxx:27017 | db.saslContinue | SUCCEEDED | 0.006s
MONGODB | xxx.xx.x.xxx:27017 | db.find | STARTED | {"find"=>"TestCompanyNumber2_xsl_sheets", "filter"=>{"assetable_id"=>4}, "limit"=>1, "skip"=>0, "sort"=>{"_id"=>-1}, "projection"=>{"_id"=>1}}
MONGODB | xxx.xx.x.xxx:27017 | db.find | FAILED | wrong number of arguments (given 2, expected 1) | 0.013306s
Rendered /Project/app/views/rails_admin/main/index.html.haml within 
    layouts/rails_admin/application (349.7ms)
    Rendered public/500.html (64.4ms)
    wrong number of arguments (given 2, expected 1)
    /GEMS/gems/bson-4.8.0-java/lib/bson/hash.rb:115:in `from_bson'

Edit:

Here is the code inside rails_admin.rb which (I believe) is in charge of pulling objects from MongoDB:

c.model XslSheet do
  label Proc.new {"Xsl Sheet"}
  navigation_label Proc.new {I18n.t('navigation.actions')}
  weight 303
  navigation_icon 'fa fa-file-excel-o'
  list do
    scopes [:applicationId]
    field :data_file_name
    field :updated_at
  end
end

Solution

  • This is https://jira.mongodb.org/browse/RUBY-2146. Downgrade to bson 4.7.0 until 4.8.2 is released.

    To help people answer your questions, include the versions of the software you are using (in this case, mongoid, mongo and bson versions are relevant), as well as the fact you are using JRuby.