관리 메뉴

JIE0025

[MongoDB] Collection과 Document를 생성하고 실습해보자 본문

백엔드/데이터베이스

[MongoDB] Collection과 Document를 생성하고 실습해보자

Kangjieun11 2023. 5. 28. 20:39
728x90

 

 

간단하게 MongoDB에서 컬렉션과 문서를 생성하고, 데이터를 관리하는 실습을 해보았다.

 

 

✅ Create Database

Compass 애플리케이션에서 + 버튼을 눌러 데이터베이스를 생성해보자.

 

 

 

데이터베이스 이름과 컬렉션(유사 RDBMS 테이블) 이름을 만들어준다.

 

 

 

아래와 같은 화면을 볼 수 있다.

 

 

 

🖥 CLI에서 처리하면?

# 1) mongodb 접속
mongo

# 2) 전체 DB 열람
show dbs

# 3) 데이터베이스 선택 (or 생성)
use tutorial

# 4) 선택한 DB의 콜렉션 열람
show collections

 

 

 

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

 

 

✅ Create Documents

 

+ ADD DATA에서 Insert document 를 클릭하자.

 

 

아래와 같은 화면이 나오는데

 _id는 자동생성 되어 있고, 나머지 데이터를 자유롭게 구성하면 된다.

 

 

 

document를 딱 두개만 삽입하고, 조회를 해보자.

{
  "_id": {
    "$oid": "647332a66bd729ce3cb908a8"
  },
  "name": "gildong",
  "age": 20,
  "email": "gildong@example.com",
  "address": {
    "street": "공항로 2",
    "city": "제주시",
    "state": "제주"
  }
}
{
  "_id": {
    "$oid": "6473338f6bd729ce3cb908a9"
  },
  "name": "jieun",
  "age":21,
  "email":"jieun@example.com",
  "address": {
    "street": "하늘길 112",
    "city": "강서구",
    "state": "서울"
  }
}

 

🖥 CLI

 

db.collection.insertOne()를 이용하면 한개의 문서를 생성 할 수 있다.

 

collection부분에 생성한 컬렉션 이름을 넣어주면 된다. 

 

 

https://www.mongodb.com/docs/manual/tutorial/insert-documents/

 

Insert Documents — MongoDB Manual

Docs Home → MongoDB Manual ➤ Use the Select your language drop-down menu in the upper-right to set the language of the examples on this page.This page provides examples of insert operations in MongoDB.Creating a CollectionIf the collection does not cur

www.mongodb.com

 

 

db.users.insertOne(
 {
  "name": "amy",
  "age":16,
  "email":"amy@example.com",
  "address": {
    "street": "공항로 272",
    "city": "중구",
    "state": "인천"
  }
 }
)

* 문서에서 _id 필드를 지정하지 않으면, MongoDB는 새문서에 자동으로 _id값(ObjectId 12bytes)을 생성한다.

 

 

 

 

 

✅ 조회 (find)

 

 

🖥 address.state가 "제주"인 Document 조회

{"address.state": "제주"}

 

🖥 age값이 20보다 큰 document 조회

{"age": {"$gt": 20}}

$gt : 크다를 의미하는 연산자. 주어진 값보다 큰 값을 가진 필드 검색

 

 

 

🖥 email 도메인이 example.com인 documnet 조회

{"email": {"$regex": ".*@example.com$"}}

$regex : 정규표현식을 이용해 문자열 패턴을 매칭하는 연산자

 

 

🖥 CLI

db.collection.find()를 이용하면 문서에서 데이터를 조회할 수 있다.

 

 

https://www.mongodb.com/docs/manual/reference/method/db.collection.find/

 

db.collection.find() — MongoDB Manual

Docs Home → MongoDB Manual db.collection.find(query, projection, options)mongosh MethodThis page documents a mongosh method. This is not the documentation for database commands or language-specific drivers, such as Node.js.For the database command, see t

www.mongodb.com

 

db.users.find({"address.state": "제주"})
db.users.find({"age": {"$gt": 20}})
db.users.find({"email": {"$regex": ".*@example.com$"}})

 

 비교 연산자

Operator 약자 설명
$eq equals 주어진 값과 일치하는 값
$gt greater than 주어진 값보다 큰 값
$gte greater than or equals 주어진 값보다 크거나 같은 값
$lt less than 주어진 값보다 작은 값
$lte less than or equals 주어진 값보다 작거나 같은 값
$ne not equal 주어진 값과 일치하지 않는 값
$in in  주어진 배열 안에 속하는 값
$nin not in 주어진 배열 안에 속하지 않는 값

 

 논리 연산자

Operator 설명
$or 조건중 하나라도 true이면 true
$and 모든 조건이 true이면 true 
$not 주어진 조건이 false인 경우에 true
$nor 주어진 모든 조건이 false일 때 true

 

{ "$and": [{"age": {"$gt": 19}}, {"address.state": "제주"}] }

 

 

 

오늘은 MongoDB에서 간단하게 Collection, Document를 만들고, 조회하는것을 해보았다.

더 다양한 문법들이나 필요한 지식이 있으면 추가적으로 공부해야지.

 

 

이제는 Spring+Kotlin 프로젝트에 몽고디비를 연동을 해봐야겠다.