본문 바로가기
프로그래밍 개발/DB

MongoDB - 생성 및 제거하기

by Jinseok Kim 2021. 1. 15.
반응형

 

생성 및 제거하기

 

 

 

Database 생성

 

  • use DATABASE_NAME 명령어를 통하여 Database를 생성 할 수 있다.
  • 생성 후, 생성된 데이터베이스를사용하게 되고,  데이터베이스가 이미 존재하는 경우엔 현존하는 데이터베이스를 사용한다.

 

> use k0502s
switched to db k0502s

위와 같이 몽고DB을 실행시킨 후 명령어를 입력하면 생성을 할 수 있다.

 

 

 

> db
k0502s

현재 사용중인 데이터베이스를 확인하려면 db 명령어를 입력하면 된다.

 

 

 

> show dbs
local  0.000GB

만든 데이터베이스 리스트들을 확인하려면 show dbs 명령어를 입력하면 된다.

 

 

 

 

 

 

 

Database 제거

 

  • Database를 제거할땐 db.dropDatabase() 명령어를 사용한다.
  • 이 명령어를 사용하기 전, use DATABASE_NAME 으로 삭제하고자 하는 데이터베이스를 선택해줘야 한다.

 

> db.dropDatabase();
{ "dropped" : "k0502s", "ok" : 1 }

k0502s의 데이터베이스가 삭제되었다.

 

 

 

 

 

 

 

 

 

Collection 생성

 

  • Collection을 생성할때는 db.createCollection(name, [options]) 명령어를 사용한다.
  • name 은 생성하려는 컬렉션의 이름이며 option 은 document 타입으로 구성된 해당 컬렉션의 설정값이다.
  • options 매개변수는 선택적인(Optional) 매개변수로서 생략하셔도 되고, 필요에따라 사용하면 된다.

 

 

 

 

 

> db.createCollection("kim")
{ "ok" : 1 }

데이터베이스에 books 컬렉션을 옵션없이 생성.

 

 

 

> db.createCollection("jin", {
... capped: true,
... autoIndex: true,
... size: 6142800,
... max: 10000
... })
{ "ok" : 1 }

데이터베이스에 jin 컬렉션을 옵션과 함께 생성.

 

 

 

 

> db.people.insert({"name": "jin seok"})
WriteResult({ "nInserted" : 1 })

따로 createCollection() 메소드를 사용하지 않아도 document를 추가하면 자동으로 컬렉션이 생성.

 

 

 

 

> show collections
jin
kim
people

만든 collection 리스트를 확인하려면 show collections 명령어를 입력하면 된다.

 

 

 

 

 

 

 

 

Collection 제거

 

  • Collection을 제거 할 땐 drop()  메소드를 사용한다.
  • 당연히, 이 명령어를 제거하기 전, 사용 할 데이터베이스를 우선 설정해야한다.

 

> use k0502s
switched to db test
> show collections
jin
kim
people
> db.people.drop()
true
> show collections
jin
kim

test 데이터베이스의 people 컬렉션을 제거한다.

 

 

 

 

 

 

 

 

 

Document 추가

 

  • nsert() 메소드를 사용하여 Document를 추가 할 수 있다.
  • 이 명령어를 사용하기 전 데이터를 추가 할 데이터베이스를 선택해주어야한다.
  • 배열형식의 인자를 전달해주면 여러 다큐먼트를 동시에 추가 할 수 있다.

 

 

> db.kim.insert({"name": "jin seok", "sex": "man"})
WriteResult({ "nInserted" : 1 })

한개의 다큐먼트를 kim 컬렉션에 추가했다.

 

 

 

 

> db.jin.insert([
... {"name": "jin seok1", "sex": "man"},
... {"name": "jin seok2", "sex": "man"}
... ]);
BulkWriteResult({
        "writeErrors" : [ ],
        "writeConcernErrors" : [ ],
        "nInserted" : 2,
        "nUpserted" : 0,
        "nMatched" : 0,
        "nModified" : 0,
        "nRemoved" : 0,
        "upserted" : [ ]
})

두개의 다큐먼트를 jin 컬렉션에 추가헀다.

 

 

 

 

> db.jin.find()
{ "_id" : ObjectId("56c08f3a4d6b67aafdeb88a3"), "name" : "jin seok", "sex" : "man" }
{ "_id" : ObjectId("56c08f474d6b67aafdeb88a4"), "name" : "jin seok", "sex" : "man" }
{ "_id" : ObjectId("56c0903d4d6b67aafdeb88a5"), "name" : "jin seok1", "sex" : "man" }
{ "_id" : ObjectId("56c0903d4d6b67aafdeb88a6"), "name" : "jin seok2", "sex" : "man" }

컬렉션의 다큐먼트 리스트를 확인할때는 db.COLLECTION_NAME.find() 명령어를 사용하면 된다.

 

 

 

 

 

 

 

 

Document 제거

 

  • remove(criteria, justOne) 메소드를 사용하여 Document를 제거 할 수 있다.
  • 이 메소드에는 두가지의 매개변수가 있다.

 

 

 

다큐먼트를 제거하다가 실수를 하지 않도록 초보일땐, 제거전에는 find() 를 먼저 해서 확인하는걸 습관화하는 것이 좋다.

 

> db.jin.find({"name": "jin seok1"})
{ "_id" : ObjectId("56c097f94d6b67aafdeb88ac"), "name" : "jin seok1", "sex" : "man" }
> db.books.remove({"name": "jin seok1"})
WriteResult({ "nRemoved" : 1 })
> db.jin.find()
{ "_id" : ObjectId("56c08f3a4d6b67aafdeb88a3"), "name" : "jin seok", "sex" : "man" }
{ "_id" : ObjectId("56c08f474d6b67aafdeb88a4"), "name" : "jin seok", "sex" : "man" }
{ "_id" : ObjectId("56c097f94d6b67aafdeb88ad"), "name" : "jin seok2", "sex" : "man" }

jin 컬렉션에서 “name”이 “jin seok1” 인 다큐먼트를 제거했다.

 

 

 

반응형

'프로그래밍 개발 > DB' 카테고리의 다른 글

MongoDB - Document Query(조회) 2  (0) 2021.01.18
MongoDB - Document Query(조회)  (0) 2021.01.18
MongoDB - 기본 설치 및 개념  (0) 2021.01.14
Mysql - 테이블 분리하기와 JOIN  (0) 2021.01.09
MySQL - CRUD  (0) 2021.01.02

댓글