[Mongo] 몽고(mongoDB)디비 CRUD 쿼리 문법 명령어 정리

2023. 2. 15. 00:42·Study/DB

 

 

 

데이터베이스 명령어


데이터베이스 생성

show dbs -- 데이터베이스 리스트 출력
db -- 현재 사용하고 있는 데이터베이스 출력
db.stats() -- 현재 사용하고 있는 데이터베이스 정보 출력

 

 

 

데이터베이스 사용

use database -- 데이터베이스 사용 혹은 생성(존재하지 않을 경우 생성)
-- use를 통해 생성된 데이터베이스는 그 안에 최소 한개의 Document가 존재해야 show dbs를 통해 확인 가능

 

 

 

데이터베이스 삭제

db.dropDatabase() -- 데이터베이스를 삭제
-- 이 명령어는 use DATABASE_NAME를 통해 지울 데이터베이슥 선택되어 있어야 한다.

 

 

 

 

 

컬렉션 명령어


컬렉션 생성

// db.createCollection( name[, option])
// name은 Collection의 이름을 지정하는 인자이고, options는 Collection의 설정을 변경해주는 인자

db.createCollection("book")

db.createCollection(
    "book",
    {
        capped:true,
        size:6142800,
        max:10000
        }
    )

 

 

[createCollection options]

Field  Type 설명 
 capped   Boolean  boolean타입, true로 설정 시 활성화, capped collection이란 고정된 크기(fixed size)를 가진 컬렉션, 사이즈가 초과시 가장 오래된 데이터를 덮어씀
 size  number capped가 true일 경우 필수로 설정 해야되는 값이며, 해당 컬렉션의 최대사이즈(단위:byte)
 max  number  해당 컬렉션에 추가 할 수 있는 최대 document 갯수

 

 

컬렉션 조회

show collections -- 컬렉션(테이블) 보기

 

 

컬렉션 삭제

db.book.drop()
// test 데이터베이스의 book이라는 collection을 제거
// 제거 전에는 필수로 use database를 이용하여 현재 데이터베이스를 설정 해야된다.

 

 

 

 

 

 

 

다큐먼트 명령어


데이터 삽입 (insert)

  • insert -단일 또는 다수의 Document를 입력할 때 사용, 만일 컬렉션이 존재하지 않는다면 자동으로 생성해주고 insert 해준다.
  • insertOne - 단일 Document를 입력할 때 사용
  • insertMany - 다수의 Document를 입력할 때 사용

 

db.book.insert({"name":"abc"})

// 여러개를 넣을 때는 배열로 묶는다.
db.book.insert([
    {"name":"abc"},
    {"name":"def"}
])
db.book.insert({
    "name":"A",
    "hits":100,
    "author":[
        {"name":"park"},
        {"name":"lee"}
    ]
});

db.book.insert({
    "name":"B",
    "hits":50,
    "author":[
        {"name":"kim"}
    ]
});

db.book.insert({
    "name":"C",
    "hits":30,
    "author":[
        {"name":"kim"},
        {"name":"choi"}
    ]
});

 

 

 

데이터 조회 (find)

// Document 리스트를 확인
db.books.find()

// Document를 좀 더 깔끔하게 보여준다.
db.book.find().pretty()

// name이 A인 document를 조회한다.
db.book.find({"name":"A"}).pretty()

id 필드의 ObjectId("618ejhsdke8121kf")는 몽고DB에서 자동으로 넣어주는 고유값
db.monsters.findOne({name:'Slime'});
// 단 하나만 찾고 싶을 때 사용. find(...)[0]과도 같다.
// find 메소드로 찾은 것 중에 첫 번째 것을 선택

 

 

 

논리 연산자

{ 필드: { $gt: 값} } // 필드 > 값
{ 필드: { $lt: 값} } // 필드 < 값
{ 필드: { $gte: 값 } } // 필드 >= 값
{ 필드: { $lte: 값 } } // 필드 <= 값

{ 필드: { $eq: 값 } } // 필드 == 값
{ 필드: { $ne: 값 } } // 필드 != 값

{ 필드: { $in: [ 값1, 값2, 값3, ... ] } // 필드 == (값1 or 값2 or 값3)
{ 필드: { $nin: [ 값1, 값2, 값3, ...] } // 필드 != (값1 and 값2 and 값3)

'Study > DB' 카테고리의 다른 글

[DB] 데이터베이스 기초 개념  (0) 2023.02.08
[Redis] Redis(레디스) 자료구조  (0) 2023.02.05
[DBMS] Redis(레디스)란? - 6  (0) 2023.01.22
[DBMS] Redis(레디스)란? - 5  (0) 2023.01.21
[DBMS] Redis(레디스)란? - 4  (0) 2023.01.19
'Study/DB' 카테고리의 다른 글
  • [DB] 데이터베이스 기초 개념
  • [Redis] Redis(레디스) 자료구조
  • [DBMS] Redis(레디스)란? - 6
  • [DBMS] Redis(레디스)란? - 5
개발새발개발
개발새발개발
  • 개발새발개발
    끄저억끄저억
    개발새발개발
  • 전체
    오늘
    어제
    • 분류 전체보기 (57)
      • Study (45)
        • DB (9)
        • WEB (11)
        • Spring (14)
        • JS (5)
        • Python (2)
        • IntelliJ (4)
      • 이슈 해결 (2)
      • Challenge (4)
        • 구름톤 챌린지 (3)
        • 자격증 (0)
      • 우아한테크코스 (2)
      • Dev Camp 3기 (0)
      • 개발 Tip (3)
      • 일상 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    til
    web
    jwt
    객체지향
    우아한테크코스
    김영한
    레디스
    JPA
    db
    NULL
    Redis
    IntelliJ
    singleton
    우테코
    realforce r3
    DBMS
    Java
    Spring
    스프링
    싱글톤
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
개발새발개발
[Mongo] 몽고(mongoDB)디비 CRUD 쿼리 문법 명령어 정리
상단으로

티스토리툴바