nosql mongoDb 사용해보기

Pyo·2024년 4월 6일
0

NoSQL

NoSQL(Not Only SQL)이란 관계형 데이터베이스 모델과는 다른 데이터베이스 모델이다. NoSQL 데이터베이스는 대규모 데이터 세트에 대한 확장성과 유연성을 제공하고, 관계형 데이터베이스에서 제공하는 ACID(원자성, 일관성, 고립성, 지속성) 특성을 모두 갖지 않을 수 있다.

나는 오늘 대표적인 nosql인 mongoDb를 사용해 볼 것이다.

우선 mongoDb를 사용하기 위해 atlas에서 데이터 베이스를 생성후 , mongo db compass에서 mongoDb를 사용해 볼것이다.

https://roots2019.tistory.com/462 이곳에서 atlas를 이용해 데이터베이스를 생성하는 방법을 따라해준후,

connect후 compass를 다운로드받아 실행한 후 , connection string를 입력하여 연동해주면 된다.

데이터 CRUD

데이터 베이스 생성

use blog

use (데이터베이스명)를 입력후 데이터를 삽입하게 되면 생성된 데이터 베이스를 볼수 있다.

데이터 생성

db.users.insertOne({name:"PyoWonSik",age:28});

이렇게 입력하면 기본적인 데이터를 생성할수 있고,

db.users.insertOne({name : { first : “lee”, last : “seoyeon” }});

이렇게 관계형 데이터 베이스처럼 정해진 데이터 형식의 데이터를 삽입하는것이 아닌 조금 더 자유로운 형식의 데이터 형식을 갖을수 있다.(Schemaless)

데이터가 잘 생성된것을 확인할수 있다.

데이터 조회

db.users.find() 
db.users.find({name = "PyoWonSik"})

이렇게 코드를 이용해 생성된 전체 데이터 그리고 조건을 만족하는 데이터를 확인할수 있다.

데이터 수정

db.users.updateOne({name:"PyoWonSik"},{$set:{age : 27}});


데이터를 수정할때는 updateOne({조건} ,$set : {변경사항})로 작성하면 되는데 여기서 주의할점은 데이터를 조회 수정 삭제 할때, 중첩된 데이터(nested data)를 조회,수정,삭제 할경우 “ “ 사용해야한다.

db.users.updateOne({”name.first”:”lee”},{$set :{”name.first”:”Lee”}});

데이터 삭제

db.users.deleteOne({name : “PyoWonSik”})


데이터가 잘 삭제 되었다.

mongoDb와 관계형 데이터 베이스 구조

mongoDb 데이터 베이스 구조

관계형 데이터 베이스 구조

데이터 베이스의 구조만 봐도 관계형 데이터 베이스는 table에 여러개의 row들로 구성되지만 mongoDb같은 경우는 collection을 여러개의 document들로 구성되어있다.
아직 사용하는 방법만 배워봤지만 훨씬 NoSQL 같은 경우 비교적 이해하기 쉬웠고 유연하다는 느낌을 받았다.

0개의 댓글

관련 채용 정보