детальны, и можно понять в чем дело. Но как эти ошибки получить? Может быть надо что-то в базе настройки поменять? Я сделал колекцию, к ней есть валидация схемы. Но вот только я по прежнему не вижу никаких деталей в ошибках, вот пример:
WriteError({
"index" : 0,
"code" : 121,
"errmsg" : "Document failed validation",
"op" : {
"_id" : ObjectId("611a3229fdac89550c54df84"),
"name" : "b1"
}
})
Т.е. нет тут никакоких деталей почему валидация провалена (а было пропущено обязательное поле). Версия монги — 5.0.2
насколько я понимаю, вам сюда: https://docs.mongodb.com/manual/core/schema-validation/
Да, я это прочел. Но только не понимаю, почему в этих примерах показывается подробное сообщение об ошибке, а у меня лишь малоинформативное “Document failed validation, full error: {'index': 0, 'code': 121, 'errmsg': 'Document failed validation’}” Вот максимально простой пример на питоне: schema = {"$jsonSchema": {"required": ["name", "value"]}} col = db.create_collection("t0", validator=schema) col.insert_one({"_id": 2, "name": "n2"}) Использую последний драйвер, серовер версиии 5.0.2. Там же пробовал инсертить через консольную mongosh, череб MongoDB Compas — и везде ошибка максимум инфы Document failed validation У меня подозрение, что надо какую-то настройку на сервере включить. У меня был сервер еще с 4-ой версии и я апгрейдил существующую БД до 5-ой. И вот возможно из-за этого у меня по прежнему нет информации что именно с валидацией не так.
Проблема была в том, что FCV была не правильно задано, и db.adminCommand( { setFeatureCompatibilityVersion: "5.0" } ) все исправило.
Обсуждают сегодня