我是.NET开发的新手,并且正在尝试开发一个基本的控制台应用程序来将数据插入MongoDB。我成功地使用MongoDB的.NET驱动程序连接,创建集合,插入和查询数据。我的下一步是在插入之前验证数据。我找到documentation并尝试在shell和pymongo驱动程序中进行验证,但无法找到.NET等效项。有人可以指向我一些文档或教程吗? (我在Mongo大学找到了一门课程,但是几个月后才开始。)
提前致谢。
答案 0 :(得分:3)
文档验证
我相信你正在寻找document validation in MongoDB。它自3.2版本起就得到了支持。你可以在文档中看到,有
validationLevel
设置验证规则适用于validationAction
设置验证失败是否会产生错误,文档是否被拒绝,或者警告是否已插入文档。这会将验证职责推送到数据库而不是代码中。如果有多个客户端访问数据库,这可能会很好。
C#驱动程序
主线C#驱动程序以及旧版C#驱动程序支持文档验证。正如您在文档中看到的那样,您在创建集合时设置了验证器(或者使用collMod
将验证器添加到现有集合中,但我不会进一步讨论)。该驱动程序包含CreateCollectionOptions
文档Validator
类,ValidationAction
和ValidationLevel
内的属性。 CreateCollectionOptions
是您传递给CreateCollection
函数的第二个参数。以下是the source code以及creates a collection with a simple validator和another的测试。
答案 1 :(得分: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中是非常可靠的验证。