mongodb - 使用 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());
});
};
}
}
解决方案
您应该覆盖 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*
推荐阅读
- jquery - 如何仅在 Jquery dataTables 中编辑选定行的特定列值
- python - 如何匹配完整字符串,而不是部分字符串?
- python - 使用 Kivy 创建按钮时,是否有针对“TypeError:object.__init__() 不带参数”的修复?
- ios - SwiftUI 分组列表更改背景颜色
- ably-realtime - 如何在 ably.io 中撤销令牌?
- c++ - 使用for循环创建cpp乘法表
- express - Mongoose 以 UTC 保存,但需要在不同时区检索取决于用户时区
- wordpress - 冲突的 Nginx 重写规则
- c - 不寻常的 C 函数声明“void fnc1(args) fnc2(void) {...}”
- javascript - 正则表达式 - 匹配特定语法并拆分它们