Custom ids of integer not found from params

XMLWordPrintableJSON

    • None
    • None
    • None
    • None
    • None
    • None
    • None

      When using a custom id of integer type Mongoid throws an error when finding a document by the string id from the controller parameter.

      This code illustrates the problem:

      class Band
        include Mongoid::Document
        field :band_id, :type => Integer,    :type => Integer, default: ->{ Random.rand(10000000000).to_i }
        field :_id, :type => Integer, default: ->{ band_id }
      end
      

      Mongoid throws an error if the id is provided as a string from a controller parameter:

      1.9.3p194 :007 >   Band.create
       => #<Band _id: 8219652764, _type: nil, band_id: 8219652764> 
      
      1.9.3p194 :008 > Band.find("8219652764")
      Mongoid::Errors::DocumentNotFound: 
      Problem:
        Document(s) not found for class Band with id(s) 8219652764.
      
      

            Assignee:
            Unassigned
            Reporter:
            digitalplaywright
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: