mor*_*rtb 4 .net mongodb mongodb-.net-driver
使用 .NET 驱动程序在 mongodb 中创建集合时,有什么方法可以指定要验证的 json 模式吗?
我找到了有关如何使用代码设置验证器的文档,但没有找到如何使用 json 模式进行验证的文档。
我在使用 .NET 驱动程序时寻找架构验证的原因是使用代码指定验证有点冗长:
db.CreateCollectionAsync(
"Foos",
new CreateCollectionOptions<Foo>
{
Validator = FilterDefinitionBuilder<MongoCustomization>()
.And(
new FilterDefinitionBuilder<MongoCustomization>().Exists(c => c.Revision),
new FilterDefinitionBuilder<MongoCustomization>().Type(c => c.Revision, BsonType.Int32),
new FilterDefinitionBuilder<MongoCustomization>().Exists(c => c.CreatedBy)),
ValidationAction = DocumentValidationAction.Error,
ValidationLevel = DocumentValidationLevel.Strict
});
Run Code Online (Sandbox Code Playgroud)
晚了几年,但答案是使用 FilterDefinitionBuilder 类的 JsonSchema 方法。像这样:
db.CreateCollectionAsync(
"Foos",
new CreateCollectionOptions<Foo>
{
Validator = new FilterDefinitionBuilder<Foo>().JsonSchema(BsonDocument.Parse("your JSON goes here")),
ValidationAction = DocumentValidationAction.Error,
ValidationLevel = DocumentValidationLevel.Strict
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1573 次 |
最近记录: |