mongoengine - Ignore extra fields for schema validation

12,264

Solution 1

For ignoring this error when having extra fields while data loading, set strict to False in your meta dictionary.

class User(Document):
    email = StringField(required=True, unique=True)
    password = StringField()
    meta = {'strict': False}

Solution 2

I believe you want to use a DynamicDocument instead of a Document when defining your model and that will allow extra fields in the db schema to be ignored.

Solution 3

I think you want skip schema validation, so when you save your document

document_name.save(validate=False)
Share:
12,264
Andrew
Author by

Andrew

Updated on June 03, 2022

Comments

  • Andrew
    Andrew almost 2 years

    I am trying to query my database. Some records currently have extra fields that are not included in my model schema (by error, but I want to handle these cases). When I try to query the DB and transform the records into the schema, I get the following error:

    FieldDoesNotExist
    The field 'X' does not exist on the document 'Y'
    

    Because of the extra fields in the database that differ from the schema.

    Is there a way to ignore this schema validation for extra fields in mongoengine?