gpt4 book ai didi

java - 使用 MongoDB 3.0 Java 驱动程序复制数据库

转载 作者:行者123 更新时间:2023-12-01 06:11:10 24 4
gpt4 key购买 nike

我正在尝试使用 MongoDB Java Driver 3.0 将数据库从运行 MongoDB v3.2 的远程主机复制到运行 MongoDB v3.0 的本地主机。

使用 shell,我可以通过运行轻松实现此目的:

db.copyDatabase("test", "test1", "104.xx.xx.21:27017", "admin", "xxxx")

Java 驱动程序似乎没有 copyDatabase命令,但是 MongoDatabase接口(interface)有一个runCommand方法,于是想到使用DB命令copydb 。但是...这个命令是only able to authenticate在远程主机上使用 MONGODB-CR,而 MongoDB v3.0 及更高版本 forces me使用 SCRAM-SHA-1 机制创建用户。

我最后的想法是使用驱动程序调用 shell 命令,但显然这只能使用已弃用的 DB 来实现。类,并且在新代码中不鼓励...

那么我有什么选择?

最佳答案

这对我有用。

DB adminDB = mongo.getDB("admin");
DBObject cmdObj = new BasicDBObject("copydb", 1).append("fromhost", "localhost").append("fromdb", source).append("todb", destination);
CommandResult commandResult = adminDB.command(cmdObj);

关于java - 使用 MongoDB 3.0 Java 驱动程序复制数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34300550/

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