我创建了一个具有以下模式验证的集合,
ValidationOptions collOptions = new ValidationOptions();
collOptions.validator(sdoc);
collOptions.validationLevel(ValidationLevel.MODERATE);
collOptions.validationAction(ValidationAction.WARN);
srdmDatabase.createCollection(collectionName,new CreateCollectionOptions().validationOptions(collOptions));
我的收藏集通过架构验证成功创建。
在某些情况下,我想动态关闭验证检查。
我发现在monogdb-java-driver中有一个选项可以关闭验证(ValidationLevel.OFF),但是我不知道如何使用该选项。 请帮助我一些如何以编程方式关闭验证检查的方法。
我们正在使用MongoDB-4.0和mongo-java-driver-3.10.2。
谢谢。
答案 0 :(得分:1)
您可以尝试使用以下代码绕过验证。
有关更新
collection.updateOne(
Filters.eq("_id", 1),
Updates.set("name", "Fresh Breads and Tulips"),
new UpdateOptions().upsert(true).bypassDocumentValidation(true));
类似地,您可以使用InsertOptions.bypassDocumentValidation(true)
请参考此链接以获取更多信息https://docs.mongodb.com/manual/core/schema-validation/#bypass-document-validation