본문 바로가기
mongoDB

[mongoDB] mongoDB 기본 사용법 및 예제

Database

생성

use DATABASE_NAME
> use test
switched to test

데이터베이스 존재하지 않을 경우, 생성 후 생성된 데이터베이스 사용

데이터베이스 존재할 경우, 데이터베이스 사용

조회

> show dbs
local  0.000GB

데이터베이스 리스트에서 확인하려면 최소 한개의 Document를 추가해야한다.

삭제

> use test
switched to test
> db.dropDatabase()
{ "dropped" : "test", "ok" : 1 }

삭제 전에, 삭제하고자 하는 db를 선택해야 한다.

Collection

생성

db.createCollection(name, [options]) 
> db.createCollection(nba, [options]) 
{ "ok" : 1 }
> db.createCollection("epl", {
... capped: true,
... autoIndex: true,
... size: 6142800,
... max: 10000
... })
{ "ok" : 1 }

options:

Field Type 설명
capped Boolean 이 값을 true 로 설정하면 capped collection 을 활성화 시킨다. Capped collection 이란, 고정된 크기 (fixed size)를 가진 컬렉션으로서, size가 초과되면 가장 오래된 데이터를 덮어쓴다. 이 값을 true로 설정하면 size 값을 설정해야한다. 참고로 capped collection 은 빈공간을 관리하지 않기 때문에 Insert 속도가 빠른 대신에 Delete 가 안된다.
autoIndexId Boolean 이 값을 true로 설정하면, _id 필드에 index를 자동으로 생성한다. (default : false)
size number Capped collection 을 위해 해당 컬렉션의 최대 사이즈(maximum size)를 ~ bytes 로 지정한다.
max number 해당 컬렉션에 추가 할 수 있는 최대 갯수를 설정한다.

조회

> show collections
epl
nba

삭제

db.COLLECTION_NAME.drop()
> use test
switched to db test
> db.epl.drop()
true
> show collections
nba

Document

추가

db.COLLECTION_NAME.insert(document)
> db.nba.insert({"name":"Lebron James"})
WriteResult({ "nInserted" : 1 })
> db.nba.insert([{"name":"James Harden"},{"name":"Russell Westbrook"}])
BulkWriteResult({
    "writeErrors" : [ ],
    "writeConcernErrors" : [ ],
    "nInserted" : 2,
    "nUpserted" : 0,
    "nMatched" : 0,
    "nModified" : 0,
    "nRemoved" : 0,
    "upserted" : [ ]
})

조회

> db.book.find()
{ "_id" : ObjectId("604785790dbfee42ad95af0b"), "name" : "Lebron James" }
{ "_id" : ObjectId("604785980dbfee42ad95af0c"), "name" : "James Harden" }
{ "_id" : ObjectId("604785980dbfee42ad95af0d"), "name" : "Russell Westbrook" }

삭제

db.COLLECTION_NAME.remove(criteria, justOne)
> db.nba.remove({"name":"Lebron James"})
WriteResult({ "nRemoved" : 1 })
Field Type 설명
criteria document 삭제 할 데이터의 기준 값 (criteria) 입니다. 이 값이 { } 이면 컬렉션의 모든 데이터를 제거합니다.
justOne Boolean 선택적(Optional) 매개변수이며 이 값이 true 면 1개 의 다큐먼트만 제거합니다. 이 매개변수가 생략되면 기본값은 false 로 서, criteria에 해당되는 모든 다큐먼트를 제거합니다.

사용자

// 사용 DB변경
> use test
switched to db test

// 신규 사용자 생성
> db.createUser({user: "testUser", pwd: "testPW", roles: [ {role: "readWrite", db: 'testDB'} ]})
Successfully added user: {
        "user" : "testUser",
        "roles" : [
                {
                        "role" : "readWrite",
                        "db" : "testDB"
                }
        ]
}

// 사용자 인증
> db.auth("testUser", "testPassword")
1

 


References


🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋

'mongoDB' 카테고리의 다른 글

[mongoDB] 도커를 이용한 mongoDB 설치  (0) 2021.11.23

댓글