首页 文章

使用.NET驱动程序在MongoDB中插入之前验证文档

提问于
浏览
1

我是.NET开发的新手,并且正在尝试开发一个基本的控制台应用程序来将数据插入到MongoDB中 . 我成功地使用MongoDB的.NET驱动程序连接,创建集合,插入和查询数据 . 我的下一步是在插入之前验证数据 . 我找到了documentation并在shell和pymongo驱动程序中尝试了验证,但我找不到.NET等价物 . 有人可以指向我一些文档或教程吗? (我在Mongo大学找到了一门课程,但几个月后才开始 . )

提前致谢 .

2 回答

  • 0

    您找到的documentation用于验证已插入集合的文档 .

    如果要验证要插入的文档,那么我建议如下:

    BSON支持有限数量的数据类型 . 所有这些都在.NET中有适当的表示 .

    使用它们创建与文档结构对应的类 . 例如:

    class dbEntry
    {
        public BsonObjectId _id { get; set; }
        public string name { get; set; }
        public string ID { get; set; }
        public DateTime CreationDate { get; set; }
        public bool deleted { get; set; }
    }
    

    创建该类的对象时,值必须符合您定义的数据类型 . 如果你问我,这是.NET中非常可靠的验证 .

  • 3

    Document Validation

    我相信你在寻找document validation in MongoDB . 它自3.2版本起就得到了支持 . 您可以在文档中看到有

    • validationLevel 设置验证规则适用的文档

    • validationAction 设置验证失败是否会创建错误并且文档被拒绝,或者是否插入警告和文档 .

    这会将验证责任推送到数据库而不是代码中 . 如果有多个客户端访问数据库,这可能会很好 .

    C# Driver

    主线C#驱动程序以及旧版C#驱动程序支持文档验证 . 正如您在文档中看到的那样,您在创建集合时设置了验证器(或者使用 collMod 将验证器添加到现有集合中,但我不会进一步讨论) . 驱动程序包含 Validator 类中 Validator 文档的属性, ValidationActionValidationLevel . CreateCollectionOptions 是您传递给 CreateCollection 函数的第二个参数 . 这是the source codecreates a collection with a simple validatoranother的测试 .

相关问题