mongodb 연결하는 방법

먼저 Spring 홈페이지에 접속합니다.

https://start.spring.io/

연결 후 아래 사진처럼


그런 다음 mongodb 홈페이지로 이동하여 로그인합니다.

https://cloud.mongodb.com

연결되면 데이터베이스 생성 버튼을 클릭합니다.


“공유”를 선택하고 “만들기” 버튼을 클릭합니다.

아래로 이동하여 클러스터 이름을 기본으로 변경하십시오.

그런 다음 클러스터 생성 버튼을 클릭합니다.



데이터베이스 프로비저닝으로 돌아가기


여기에서 기본 옆에 있는 연결을 클릭합니다.


아이디와 비밀번호 생성 후

연결 방법 선택을 클릭합니다.


MongoDB 드라이버를 클릭합니다.


그런 다음 Java를 드라이버로 선택하십시오.

아래 빨간 동그라미 친 주소 복사


그리고 Spring Boot를 사용하여 방금 생성한 Maven 프로젝트를 가져옵니다.

application.properties에서 방금 복사한 주소

spring.data.mongodb.uri에 넣습니다.

또한 spring.data.mongodb.database를 추가합니다.

spring.data.mongodb.uri={위 이미지 빨간 동그라미 안의 주소 복사한후 여기에다가 붙여놓는다}
spring.data.mongodb.database=mygrocerylist

이제 클래스를 만들자

패키지 이름을 모델로 설정하고 클래스를 GroceryItem으로 설정

package net.javaguides.mongodbtutorial.model;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

@Document("groceryitems")
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
public class GroceryItem {

    @Id
    private String id;
    private String name;
    private int quantity;
    private String category;

}

패키지 이름 리포지토리와 인터페이스 이름 ItemRepository를 만듭니다.

package net.javaguides.mongodbtutorial.repository;

import net.javaguides.mongodbtutorial.model.GroceryItem;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.mongodb.repository.Query;

import java.util.List;

public interface ItemRepository extends MongoRepository<GroceryItem, String> {

    @Query("{name:'?0'}")
    GroceryItem findItemByName(String name);

    @Query(value = "{category:'?0'}", fields = "{'name' : 1, 'quantity' : 1}")
    List<GroceryItem> findAll(String category);

    public long count();

}

마지막으로 MongodbTutorialApplication을 다음과 같이 수정합니다.

package net.javaguides.mongodbtutorial;

import net.javaguides.mongodbtutorial.model.GroceryItem;
import net.javaguides.mongodbtutorial.repository.ItemRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;

@SpringBootApplication
@EnableMongoRepositories
public class MongodbTutorialApplication implements CommandLineRunner {

   @Autowired
   ItemRepository groceryItemRepo;

   public static void main(String() args) {

      SpringApplication.run(MongodbTutorialApplication.class, args);

   }

   @Override
   public void run(String... args) throws Exception {
      System.out.println("-------------CREATE GROCERY ITEMS------\n");
      createGroceryItems();

      System.out.println("\n------------SHOW ALL GROCERY ITEMS---\n");
      showAllGroceryItems();
   }

   void createGroceryItems() {
      System.out.println("Data creation started...");
      groceryItemRepo.save(new GroceryItem("Whole Wheat Biscuit", "Whole Wheat Biscuit", 5, "snacks"));
      System.out.println("Data creation complete...");
   }

   public void showAllGroceryItems() {
      groceryItemRepo.findAll().forEach(item -> System.out.println(getItemDetails(item)));
   }

   public void getGroceryItemByName(String name) {
      System.out.println("Getting item by name: " + name);
      GroceryItem item = groceryItemRepo.findItemByName(name);
      System.out.println(getItemDetails(item));
   }

   public String getItemDetails(GroceryItem item) {
      System.out.println("Item Name: " + item.getName() + ", \nQuantity: " + item.getQuantity() + ", \nItem Category: " + item.getCategory());
      return "";
   }

}

이제 mongo db 홈페이지를 열고 데이터베이스 마운트로 이동합니다.

그리고 메인버튼을 누르면


컬렉션으로 이동하여 내 데이터 추가를 클릭합니다.


그리고 데이터베이스 이름을 mygrocerylist로 설정합니다.

컬렉션 이름을 Grocery Items로 설정하고 만들기 버튼을 클릭합니다.


그런 다음 Java 프로젝트를 열고 MongodbTutorialApplication을 실행합니다.


실행하여 mongodb 홈페이지에 접속하여 새로고침을 하면 데이터가 들어온 것을 확인할 수 있습니다. 이것이 설명의 끝입니다.