У нас есть процесс ETL, который загружает данные в MongoDB.После того, как это сделано, мы загружаем документы по их модели, чтобы убедиться, что все правильно.Иногда мы получаем неправильные поля или неправильные типы данных.Например, поле даты ISO может быть загружено в виде строки: «12-25-2017».Когда драйвер загружает данные, он прекратит это преобразование.В другом случае поле было загружено с неправильным именем, поэтому мы получаем сообщение об ошибке, что поле или свойство не найдено.
В идеале я хотел бы как-то проверить все документы на соответствие модели и записать каждое из них.поле для каждого документа, который не удалось.В конце я бы сохранил журнал как отчет.
Если бы процесс мог быть несколько общим, мы могли бы использовать его для всех наших коллекций, а не только для одного.
Я пыталсязарегистрируйте сериализатор, но он вызывается только в корневом объекте.В нашем случае документ имеет много вложенных документов, которые имеют вложенные документы.
MongoDB.Bson.Serialization.BsonSerializer.RegisterSerializer<MyObject>(new MyObjectDeserializer());