MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Chuyển đổi giữa sản xuất Mongo và cơ sở dữ liệu thử nghiệm - Java Spring Boot

Cá nhân tôi thích sử dụng cơ sở dữ liệu nhúng để thử nghiệm. Bạn có thể sử dụng FakeMongo

package com.backend.configuration;

import com.github.fakemongo.Fongo;
import com.mongodb.Mongo;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.config.AbstractMongoConfiguration;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;

@Configuration
@EnableMongoRepositories(basePackages = "com.backend.repository")
public class MongoConfiguration extends AbstractMongoConfiguration {

  private static final String DB_NAME = "test";

  @Override
  protected String getDatabaseName() {
    return DB_NAME;
  }

  @Override
  @Bean
  public Mongo mongo() {
    return new Fongo(getDatabaseName()).getMongo();
  }

  @Override
  protected String getMappingBasePackage() {
    return "com.backend.domain";
  }
}

Trong lớp thử nghiệm:

package com.backend.repository;

import com.backend.configuration.MongoConfiguration;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = MongoConfiguration.class)
public class CustomerRepositoryTest {

}

Đối với các cấu hình khác như phát triển và sản xuất, bạn có thể sử dụng cấu hình khởi động mùa xuân (xem doc ) hoặc bạn có thể sử dụng hồ sơ maven:trong application.properties thêm thuộc tính này [email protected]@ sau đó xác định nó trong pom.xml gia nhập vào hồ sơ đã sử dụng:

    <profile>
        <id>dev</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <mongo.host>localhost</mongo.host>
        </properties>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <mongo.host>mongo</mongo.host>
        </properties>
    </profile>


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Trả về các phần tử mảng bên trong từ nhiều tài liệu ở dạng đã sắp xếp

  2. Không thể duy trì trạng thái giao dịch vì thiếu tập hợp giao dịch phiên

  3. Nhận dấu thời gian từ id mongodb

  4. chuyển đổi từ blob sang nhị phân để lưu nó vào mongodb

  5. Nhập dữ liệu csv dưới dạng mảng trong mongodb bằng mongoimport