首页 > 解决方案 > 使用 SpringBoot 从本地机器连接到 Mongo(托管在 VM 上)

问题描述

我已经在虚拟机上设置了 MongoDB。现在我需要使用 SpringBoot 从本地机器连接到 Mongo(托管在 VM 上)。鉴于我拥有虚拟机的用户名、密码和 IP 地址,我应该在 application.propeties 文件中进行哪些更改。

如何在 VM 中为以下InitDatabase课程设置 Mongo

import org.springframework.boot.CommandLineRunner;
import org.springframework.context.annotation.Bean;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.stereotype.Component;

@Component
public class InitDatabase {
@Bean
CommandLineRunner init(MongoOperations operations) {
    return args -> {
        operations.dropCollection(Image.class);

        operations.insert(new Image("1",
            "learning-spring-boot-cover.jpg"));
        operations.insert(new Image("2",
            "learning-spring-boot-2nd-edition-cover.jpg"));
        operations.insert(new Image("3",
            "bazinga.png"));

        operations.findAll(Image.class).forEach(image -> {
            System.out.println(image.toString());
        });
    };
}
}

标签: mongodbspring-bootspring-datavirtual-machine

解决方案


您应该覆盖 spring.mongodb 配置属性:

MongoDB 配置

spring.data.mongodb.authentication-database= *which_authentication_database_you_want_to_connect*

 spring.data.mongodb.username=*database_username* 

 spring.data.mongodb.password=*database_password* 
  
 spring.data.mongodb.database=*which_database_you_want_to_connect*  

 spring.data.mongodb.port=*running_mongo_instance_port* 

 spring.data.mongodb.host=*running_mongo_instance_host -- you should write your own VM's ip address*

推荐阅读