{"record":{"id":"57dbecc933dfddbe","repo":"mongodb/mongoid","slug":"field-must-be-a-string-field","errorCode":null,"errorMessage":"Field must be a string: #{field}","messagePattern":"Field must be a string: #(.+?)","errorType":"exception","errorClass":"ArgumentError","httpStatus":null,"severity":"error","filePath":"lib/mongoid/criteria/queryable/storable.rb","lineNumber":208,"sourceCode":"          else\n            selector.store(operator, op_expr)\n          end\n\n          self\n        end\n\n        # Adds an arbitrary expression to the query.\n        #\n        # Field can either be a field name or an operator.\n        #\n        # Mutates the receiver.\n        #\n        # @param [ String ] field Field name or operator name.\n        # @param [ Object ] value Field value or operator expression.\n        #\n        # @return [ Storable ] self.\n        def add_one_expression(field, value)\n          raise ArgumentError, \"Field must be a string: #{field}\" unless field.is_a?(String)\n\n          if field.start_with?('$')\n            add_operator_expression(field, value)\n          else\n            add_field_expression(field, value)\n          end\n        end\n      end\n    end\n  end\nend\n","sourceCodeStart":190,"sourceCodeEnd":220,"githubUrl":"https://github.com/mongodb/mongoid/blob/0da0e23d71adfbad31128c18e5e2c8c301c6f7c4/lib/mongoid/criteria/queryable/storable.rb#L190-L220","documentation":"Error \"Field must be a string: #{field}\" thrown in mongodb/mongoid.","triggerScenarios":"Thrown at lib/mongoid/criteria/queryable/storable.rb:208 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0da0e23d71adfbad31128c18e5e2c8c301c6f7c4","analyzedAt":"2026-08-23T06:25:47.656Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}