Я хочу определить коллекцию в Mongo, используя Spring-boot с опцией валидатора JSON Schema (https://docs.mongodb.com/manual/core/schema-validation/#json-schema), Я не хочу валидации бина JSR-303 (это не действительный ответ Spring data mongoDb не является нулевой аннотацией, как Spring data Jpa ), но определяет, в момент создания Collection, параметр, который отображается в JSON с помощью CollectionInfos () .
Пример, если я определяю лайки класса модели Account:
public class Account {
@Id
private String id;
private String name;
private String surname;
@NotNull
private String username;
}
Я хочу, чтобы коллекция, используя db.getCollectionInfos () , json любит:
[
{
"name" : "account",
"type" : "collection",
"options" : {
"validator" : {
"$jsonSchema" : {
"bsonType" : "object",
"required" : [
"username"
]
}
}
},
"info" : {
"readOnly" : false,
"uuid" : UUID("979cdc4b-d6f3-4aef-bc89-3eee812773a5")
},
"idIndex" : {
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "databaseName.account"
}
}
]
Процедура может быть похожа на spring.jpa.hibernate.ddl-auto = create , потому что она определяет правила на уровне схемы и не похожа на валидатор Bean, который определяет правила на уровне приложения. .