美文网首页
springboot连接使用monggoDB复制集

springboot连接使用monggoDB复制集

作者: 我是光芒万丈 | 来源:发表于2021-08-18 22:44 被阅读0次

    配置部分:

    url连接格式:mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

          mongodb:// 前缀,代表这是一个Connection String

          me:password@如果启用了鉴权,需要指定用户密码

          hostX:portX 复制集成员的ip:port信息,多个成员以逗号分割

         /database 鉴权时,用户帐号所属的数据库

         ?options 指定额外的连接选项

    示例:mongodb://admin:pass%40123@192.168.0.31:27017,192.168.0.32:27017,192.168.0.33:27017/?replicaSet=myrs&database=admin

    注意如果有仲裁者角色,此处不应进行配置.

    密码中的特殊字符@需要转义(否则会报错),如此处为encodeURIComponent("pass@123")

    Yml配置格式示例:

    代码使示例:

    @Configuration

    public class MongoConfig{

        @Value("${spring.data.mongodb.database}")

        private String database;

        @Value("${spring.data.mongodb.uri}")

        private String uri;

        @Bean

    public MongoMappingContext mappingContext() {

            return new MongoMappingContext();

    }

        @Bean

    public MongoTemplate mongoTemplate(MongoDbFactory mongoDbFactory, MongoMappingContext mappingContext) {

            MappingMongoConverter converter= new MappingMongoConverter(new DefaultDbRefResolver(mongoDbFactory),

                    mappingContext);

            converter.setTypeMapper(new DefaultMongoTypeMapper(null));

            MongoTemplate mongoTemplate= new MongoTemplate(mongoDbFactory, converter);

            return mongoTemplate;

    }

        @Bean

    public MongoClient getMongoClient(){

            return MongoClients.create(uri);

    }

        @Bean

    public GridFSBucket getgridFsBucket(MongoClient mongoClient) {

            MongoDatabase mongoDatabase= mongoClient.getDatabase(database);

            GridFSBucket gridFsBucket= GridFSBuckets.create(mongoDatabase);

            return gridFsBucket;

    }

    }

    错误用法:

    一旦31节点发生奔溃或切换为从节点,写操作将会有问题。

    monggoDB复制集搭建过程见mongoDB复制集搭建

    相关文章

      网友评论

          本文标题:springboot连接使用monggoDB复制集

          本文链接:https://www.haomeiwen.com/subject/khbnbltx.html