我已经创建了一个具有模式验证的集合,如下所示:
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。
提前谢谢。
发布于 2019-09-23 00:57:09
您可以尝试使用以下代码绕过验证。
用于更新
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
https://stackoverflow.com/questions/56950243
复制相似问题