使用.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
});
答案 0 :(得分:0)
我认为最好的解决方案是创建一个JavaScript文件,然后使用MongoDB随附的Mongo Shell运行它。
这没有按要求使用.NET驱动程序,但是我怀疑满足了任何人的需求。
请参阅:Write scripts for the mongo shell
要从CMD行运行脚本,请执行以下操作:
> cd "C:\Program Files\MongoDB\Server\4.0\bin" <--- your mongo bin directory
> mongo path-to-script.js