프론트엔드 개발자의 개발 놀이터

MongoDB 문법 본문

MongoDB

MongoDB 문법

프론트포텐 2024. 2. 2. 14:29
반응형

데이터베이스 확인

> show dbs;
admin     0.000GB
config    0.000GB
local     0.000GB

데이터베이스 생성

> use 데이터베이스명;
switched to db admin

 

 - 데이터베이스가 없으면 생성 후 선택, 있으면 선택
 - 데이터베이스에 자료가 없을 경우 show dbs에 나타나지 않음

데이터베이스 삭제

> db.dropDatabase();

컬렉션 생성

> db.createCollection('컬렉션명');

컬렉션 확인

> show collections;

컬렉션 삭제

> db.컬렉션명.drop();

Document 추가

> db.컬렉션명.insert({키1:값1, 키2:값2, ...});

ex) db.member.insert({"userid": "apple", "userpw": "1111", "name":"김사과", "gender":"남자"});

Document 확인

# 검색
> db.컬렉션명.find();

# 구조적으로 정리해서 검색
> db.컬렉션명.find().pretty();

_id는 각 Document의 유일한 키로 쓰이는 고유한 값

Document의 비교 연산

  • $eq : 주어진 값과 일치하는 값을 찾음
  • $gt : 주어진 값보다 큰 값을 찾음
  • $gte : 주어진 값보다 크거나 같은 값을 찾음
  • $lt : 주어진 값보다 작은 값을 찾음
  • $lte : 주어진 값보다 작거나 같은 값을 찾음
  • $ne : 주어진 값과 일치하지 않는 값을 찾음
  • $in : 주어진 배열안에 속하는 값을 찾음
  • $nin : 주어진 배열안에 속하지 않는 값을 찾음
# ex) 포인트가 700 이상인 멤버를 검색
db.member.find({"point":{$gte:700}}).pretty();

Document의 논리 연산

  • $and : 주어진 모든 조건이 true일 때 true
  • $or : 주어진 조건 중 하나라도 true이면 true
  • $not : 주어진 조건이 true라면 false, false라면 true
# ex) 아이디가 "etrog"이고 비밀번호가 "4444"인 멤버를 검색
db.member.find({$and:[{"userid":"etrog"}, {"userpw":"4444"}]}).pretty();

Document의 정렬

> db.컬렉션명.find().sort();

 

1. 형태

    sort({필드명: 1});

    * 1은 오름차순, -1은 내림차순

# ex) 아이디로 내림차순 정렬
db.member.find().sort({"userid":-1}).pretty();

 

2. 여러 key를 입력할 수 있고, 먼저 입력한 key 대로 정렬

# ex) 포인트로 정렬 후 아이디로 정렬
db.member.find().sort({"point":1, "userid":-1}).pretty();

Document의 갯수 제한

  • limit(): 출력할 데이터의 갯수를 제한할 때 사용
> db.컬렉션명.find().limit(출력할 갯수);

Document의 데이터 생략 후 출력

  • skip(): 출력할 데이터의 시작부분을 정해준 수만큼 스킵해서 설정
> db.컬렉션명.find().skip(생략할 갯수);

Document의 수정

1. 특정 field 업데이트

    db.컬렉션명.update({바꿀객체}, {$set:{필드(키값): 값, ...}});

ex) db.member.update({"userid":"grape"}, {$set: {"name":"정포도"}});

 

2. 특정 Document replace

    db.컬렉션명.update({바꿀객체}. {새로운객체});

    * document replace는 _id가 바뀌지 않음

ex) 
db.member.update(
   {"userid":"grape"}, 
   {
     "userid":"guava", 
     "userpw":"9ava", 
     "name":"구찬성", 
     "gender":"남자", 
     "point":1200
   }
);

 

3. 특정 field 제거

    db.컬렉션명.update({바꿀객체}, {$unset:{팔드(키값): 1}});

    * 1은 true를 의미

ex) db.member.update({"userid":"guava"}, {$unset:{"userpw":1}});

 

4. 여러 Document의 특정 field를 수정

    db.컬렉션명.update({바꿀객체}, {$unset: {"userpw": 1}});

ex) db.member.update({"point":{$gte:700}}, {$set: {"userpw":"1234"}, {multi:true}});

Document의 삭제

db.컬렉션명.remove(객체);

ex) db.member.remove({"userid":"grape"});

'MongoDB' 카테고리의 다른 글

MongoDB와 NodeJS 연동하기  (0) 2024.02.02
MacOS MongoDB 설치 및 설정  (0) 2024.02.02