mongodb/mongoid · error · ArgumentError
Specifying both key_id and key_name_field is not allowed
Error message
Specifying both key_id and key_name_field is not allowed
What it means
Error "Specifying both key_id and key_name_field is not allowed" thrown in mongodb/mongoid.
Source
Thrown at lib/mongoid/config/encryption.rb:200
DETERMINISTIC_ALGORITHM
when false
RANDOM_ALGORITHM
end
end
# Get the keyId encryption schema field for the base64 encrypted
# key id.
#
# @param [ String | nil ] key_id_base64 The base64 encoded key id.
# @param [ String | nil ] key_name_field The name of the key name field.
#
# @return [ Array<BSON::Binary> | String | nil ] The keyId encryption schema field,
# JSON pointer to the field that contains keyAltName,
# or nil if both key_id_base64 and key_name_field are nil.
def key_id_for(key_id_base64, key_name_field)
return nil if key_id_base64.nil? && key_name_field.nil?
if !key_id_base64.nil? && !key_name_field.nil?
raise ArgumentError, 'Specifying both key_id and key_name_field is not allowed'
end
if key_id_base64.nil?
"/#{key_name_field}"
else
[ BSON::Binary.new(Base64.decode64(key_id_base64), :uuid) ]
end
end
end
end
end
View on GitHub (pinned to 0da0e23d71)
When it happens
Trigger: Thrown at lib/mongoid/config/encryption.rb:200 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/a2ee156ea29c1143.
Report an issue: GitHub.