gpt4 book ai didi

java - 如何使用 Java 驱动程序检索现有 MongoDB 集合的 validator ?

转载 作者:行者123 更新时间:2023-11-30 05:55:49 27 4
gpt4 key购买 nike

使用 MongoDB Java 驱动程序,我想检索 validator为集合定义。在 mongo Shell 中,这可以通过运行 db.getCollectionInfos({name: "MyTestCollection"})[0].options.validator; 轻松实现,如所述here

我怀念的是 MongoDatabase 上的类似方法类或Database Command我可以使用 MongoDatabase.runCommand(...) 方法运行。

我想念什么?如何在 Java 中检索该信息?

最佳答案

这就是我设法检索有问题的架构的方法:

...
MongoDbJsonSchemaRetriever(MongoDatabase database) {
this.database = database;
}

Document retrieveJsonSchema(String collectionName) {
Document collection = database.listCollections().filter(byName(collectionName)).first();
return readJsonSchema(collection);
}

private Bson byName(String collectionName) {
return Filters.eq("name", collectionName);
}

private static Document readJsonSchema(Document collection) {
return collection.get("options", EMPTY).get("validator", EMPTY).get("$jsonSchema", EMPTY);
}

使用很简单:

new MongoDbJsonSchemaRetriever(yourDatabase).retrieveJsonSchema(yourCollectionName)

如果未定义/找到架构,您将检索架构或空文档。

如果您找到更好的方法,请告诉我。

关于java - 如何使用 Java 驱动程序检索现有 MongoDB 集合的 validator ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53208902/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com