mongodb/mongoid · error · NotImplementedError

Mongoid no longer supports marshalling with driver version 1

Error message

Mongoid no longer supports marshalling with driver version 1.x.

What it means

Error "Mongoid no longer supports marshalling with driver version 1.x." thrown in mongodb/mongoid.

Source

Thrown at lib/mongoid/criteria/marshalable.rb:33

      #
      # @return [ Array<Object> ] The dumped data.
      def marshal_dump
        data = [ klass, :mongo, inclusions, documents, strategy, negating, use_lookup? ]
        data.push(scoping_options).push(dump_hash(:selector)).push(dump_hash(:options))
      end

      # Resets the criteria object after a Marshal.load
      #
      # @example Load the criteria.
      #   Marshal.load(criteria)
      #
      # @param [ Array ] data The raw data.
      def marshal_load(data)
        @scoping_options, raw_selector, raw_options = data.pop(3)
        @klass, driver, @inclusions, @documents, @strategy, @negating, @use_lookup = data

        if driver == :mongo1x
          raise NotImplementedError, 'Mongoid no longer supports marshalling with driver version 1.x.'
        end

        @selector = load_hash(Queryable::Selector, raw_selector)
        @options = load_hash(Queryable::Options, raw_options)
      end

      private

      def dump_hash(name)
        send(name).each_with_object({}) do |(key, value), raw|
          raw[key] = value
        end
      end

      def load_hash(hash_class, raw)
        hash = hash_class.new(klass.aliased_fields, klass.fields)
        hash.merge!(raw)
        hash

View on GitHub (pinned to 0da0e23d71)

When it happens

Trigger: Thrown at lib/mongoid/criteria/marshalable.rb:33 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of mongodb/mongoid@0da0e23d71 (2026-08-23). Data as JSON: /api/errors/ba95002714c2806f. Report an issue: GitHub.