我是.NET开发的新手,并且正在尝试开发一个基本的控制台应用程序来将数据插入到MongoDB中 . 我成功地使用MongoDB的.NET驱动程序连接,创建集合,插入和查询数据 . 我的下一步是在插入之前验证数据 . 我找到了documentation并在shell和pymongo驱动程序中尝试了验证,但我找不到.NET等价物 . 有人可以指向我一些文档或教程吗? (我在Mongo大学找到了一门课程,但几个月后才开始 . )
提前致谢 .
我是.NET开发的新手,并且正在尝试开发一个基本的控制台应用程序来将数据插入到MongoDB中 . 我成功地使用MongoDB的.NET驱动程序连接,创建集合,插入和查询数据 . 我的下一步是在插入之前验证数据 . 我找到了documentation并在shell和pymongo驱动程序中尝试了验证,但我找不到.NET等价物 . 有人可以指向我一些文档或教程吗? (我在Mongo大学找到了一门课程,但几个月后才开始 . )
提前致谢 .
2 回答
您找到的documentation用于验证已插入集合的文档 .
如果要验证要插入的文档,那么我建议如下:
BSON支持有限数量的数据类型 . 所有这些都在.NET中有适当的表示 .
使用它们创建与文档结构对应的类 . 例如:
创建该类的对象时,值必须符合您定义的数据类型 . 如果你问我,这是.NET中非常可靠的验证 .
Document Validation
我相信你在寻找document validation in MongoDB . 它自3.2版本起就得到了支持 . 您可以在文档中看到有
validationLevel
设置验证规则适用的文档validationAction
设置验证失败是否会创建错误并且文档被拒绝,或者是否插入警告和文档 .这会将验证责任推送到数据库而不是代码中 . 如果有多个客户端访问数据库,这可能会很好 .
C# Driver
主线C#驱动程序以及旧版C#驱动程序支持文档验证 . 正如您在文档中看到的那样,您在创建集合时设置了验证器(或者使用
collMod
将验证器添加到现有集合中,但我不会进一步讨论) . 驱动程序包含Validator
类中Validator
文档的属性,ValidationAction
和ValidationLevel
.CreateCollectionOptions
是您传递给CreateCollection
函数的第二个参数 . 这是the source code和creates a collection with a simple validator和another的测试 .