首页 > 编程语言 >java 两个mongo库数据迁移

java 两个mongo库数据迁移

时间:2024-01-29 17:37:00浏览次数:33  
标签:java mongo sourceDb collection sourceClient new 迁移 MongoClient

    public static void main(String[] args) {
        String collectionname = "test";

        // MongoDB URI
        String uri = "mongodb://用户名:密码@ip:端口/mydatabase?authSource=mongo";

        // Connect to the database using the provided URI
        MongoClient sourceClient = new MongoClient(new MongoClientURI(uri));

        // 连接源数据库
        MongoDatabase sourceDb = sourceClient.getDatabase("mongo");
        MongoCollection<Document> collection = sourceDb.getCollection(collectionname);

        //设置查询条件
        BasicDBObject query = new BasicDBObject();
       // query.put("_id", new BasicDBObject("$in", Arrays.asList(1, 3, 5)));

        //执行查询
        FindIterable<Document> documents = collection.find(query);
        String taruri = "mongodb://用户名:密码@ip:端口/mydatabase?authSource=mongo";
        MongoClient targetClient = new MongoClient(new MongoClientURI(taruri));

        // 连接目标数据库
        MongoCollection<Document> targetCollection = targetClient.getDatabase("mongo_bpc").getCollection(collectionname);

        MongoCursor<Document> iterator = documents.iterator();
        while (iterator.hasNext()) {
            Document document = iterator.next();
            targetCollection.insertOne(document);
        }

        log.info("完成!");

        // 关闭连接
        sourceClient.close();
        targetClient.close();
    }

  两个mongo数据迁移

1.不需要用户名密码时

  MongoClient sourceClient = new MongoClient("ip", 端口)

  MongoDatabase sourceDb = sourceClient.getDatabase("mongo");

//获取到要查询的集合(collection)

  MongoCollection<Document> collection = sourceDb.getCollection(collectionname);

2.需要用户名密码

// MongoDB URI
  String uri = "mongodb://用户名:密码@ip:端口/mydatabasse?authSource=mongo";

// 首先创建了一个MongoClient对象,通过提供的MongoDB URI进行连接
  MongoClient sourceClient = new MongoClient(new MongoClientURI(uri));

  MongoDatabase sourceDb = sourceClient.getDatabase("mongo");

//获取到要查询的集合(collection)

  MongoCollection<Document> collection = sourceDb.getCollection(collectionname);

标签:java,mongo,sourceDb,collection,sourceClient,new,迁移,MongoClient
From: https://www.cnblogs.com/first131/p/17994946

相关文章

  • java反射获取类字段值以及注解描述
    publicstaticMap<String,String>getFieldNameAndDescriptionMap(Objectentity)throwsIllegalAccessException{Class<?>clazz=entity.getClass();Field[]fields=clazz.getDeclaredFields();//获取所有字段Map<String,String&g......
  • Java代码审计-FileOperations
    常见文件读写常见文件读写方式通过FileInputStream读取文件并使用FileOutputStream写入另一个文件的测试方法通过BufferedInputStream读取文件并使用BufferedOutputStream写入另一个文件的测试方法通过BufferedReader读取文件并使用BufferedWriter写入另一个文件的测试方法......
  • Java代码审计-SSRF
    SSRF漏洞SSRF(Server-SideRequestForgery:服务器端请求伪造)是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部服务器系统。支持的协议fil......
  • Java代码审计-XXE
    一、XXE漏洞简介XXE(XML外部实体注入,XMLExternalEntity),在应用程序解析XML输入时,当允许引用外部实体时,可构造恶意内容,导致读取任意文件、探测内网端口、攻击内网网站、发起DoS拒绝服务攻击、执行系统命令等。Java中的XXE支持sun.net.www.protocol里的所有协议:http,https,file,f......
  • Java代码审计-FileUpload
    Web应用通常都会包含文件上传功能,用户可以将其本地的文件上传到Web服务器上。如果服务器端没有能够正确的检测用户上传的文件类型是否合法(例如上传了jsp后缀的WebShell)就将文件写入到服务器中就可能会导致服务器被非法入侵。漏洞成因后缀名无限制//导入必要的类库package......
  • javax.annotation.Nullable找不到
    您需要包括一个存在该类的罐子。您可以在这里找到它如果使用Maven,则可以添加以下依赖项声明:<dependency><groupId>com.google.code.findbugs</groupId><artifactId>jsr305</artifactId><version>3.0.2</version></dependency>对于Gradle:dependencies......
  • Windows下安装和配置Java JDK
    1、......
  • 百川终入海 ,一站式海量数据迁移工具 X2Doris 正式发布
    在大数据分析领域,ApacheDoris作为广受认可的开源实时数据仓库,已经在越来越多行业用户的真实业务场景中得到广泛应用,成为许多企业数据分析基础设施的重要基座。尤其在过去一年多的时间里,越来越多企业选择基于ApacheDoris进行升级,将过去基于Hadoop体系的离线数据仓库进行实时......
  • 配置java环境(Redhat)
    安装前准备:下载java的Jdkhttps://www.oracle.com/java/technologies/downloads/   (jdk-8u202-linux-x64.tar.gz)1.查看系统是否有java环境: java-version2.如果有版本输出则需要卸载之前的jdk,找出安装的jdk: rpm-qa|grepjdk3.根据 rpm-qa|grepjdk命令列出的......
  • JVM(Java虚拟机) 整理
    JVM整体结构本文主要说的是HotSpot虚拟机,JVM全称是JavaVirtualMachine,中文译名:Java虚拟机简化一下:Java字节码文件Class文件本质上是一个以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑的排列在Class文件中,JVM根据其特定的规则解析该二进制数据,从而得到......