Mongoengine - игнорировать дополнительные поля для проверки схемы
Я пытаюсь выполнить запрос к моей базе данных. Некоторые записи в настоящее время имеют дополнительные поля, которые не включены в мою схему модели (по ошибке, но я хочу обрабатывать эти случаи). Когда я пытаюсь запросить БД и преобразовать записи в схему, я получаю следующую ошибку:
FieldDoesNotExist
The field 'X' does not exist on the document 'Y'
Из-за дополнительных полей в базе данных, которые отличаются от схемы.
Есть ли способ игнорировать эту проверку схемы для дополнительных полей в mongoengine?
Ответы
Ответ 1
Чтобы игнорировать эту ошибку при добавлении дополнительных полей при загрузке данных, установите strict
в False
в свой мета-словарь.
class User(Document):
email = StringField(required=True, unique=True)
password = StringField()
meta = {'strict': False}
Ответ 2
Я считаю, что вы хотите использовать DynamicDocument вместо Document при определении вашей модели, и это позволит игнорировать дополнительные поля в схеме db.
Ответ 3
Я думаю, что вы хотите пропустить проверку схемы, поэтому при сохранении документа
document_name.save(validate=False)