微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MongoDB Java 驱动程序 v4.3 运行命令

官方文档:https://docs.mongodb.com/drivers/java/sync/current/usage-examples/command/

 

运行命令

您可以使用该MongoDatabase.runcommand()方法运行所有原始数据库操作 。原始数据库操作是可以直接在 MongoDB 服务器 CLI 上执行的命令。这些命令包括管理和诊断任务,例如获取服务器统计信息或初始化副本集。runcommand() 使用 aBson实例上的命令对象调用方法MongoDatabase 以运行原始数据库操作。

提示

尽可能使用mongo shell而不是 Java 驱动程序来执行管理任务,因为使用 shell 执行这些任务通常比在 Java 应用程序中更快、更容易实现。

runcommand()方法接受Bson对象形式的命令。认情况下,runcommand返回一个org.bson.Document包含数据库命令输出类型的对象 。您可以指定返回类型runcommand()作为可选的第二个参数。

在以下示例代码中,我们发送dbStats命令以从特定 MongoDB 数据库请求统计信息。

笔记

此示例使用连接字符串连接到 MongoDB 实例。要了解有关连接到 MongoDB 实例的更多信息,请参阅 连接指南

package usage.examples;
import org.bson.BsonDocument; import org.bson.BsonInt64; import org.bson.Document; import com.mongodb.ConnectionString; import com.mongodb.MongoClientSettings; import com.mongodb.MongoException; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase;
public class runcommand { public static void main(String[] args) { // Replace the uri string with your MongoDB deployment's connection string String uri = "<connection string uri>"; try (MongoClient mongoClient = MongoClients.create(uri)) { MongoDatabase database = mongoClient.getDatabase("sample_mflix"); try { Bson command = new BsonDocument("dbStats", new BsonInt64(1)); Document commandResult = database.runcommand(command); System.out.println("dbStats: " + commandResult.toJson()); } catch (MongoException me) { System.err.println("An error occurred: " + me); } } } }

 

运行上述命令时,您应该会看到类似于以下内容输出

dbStats: {"db": "sample_mflix", "collections": 5, "views": 0, "objects": 75595, "avgobjSize": 692.1003770090614, "dataSize": 52319328, "storageSize": 29831168, "numExtents": 0, "indexes": 9, "indexSize": 14430208, "fileSize": 0, "nsSizeMB": 0, "ok": 1}

 

  提示 传统 API

如果您使用的是旧 API, 请参阅我们的常见问题解答页面 以了解您需要对此代码示例进行哪些更改。

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐