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] 강좌 2편: Database/Collection/Document 생성·제거 VELOPERT.LOG
- [Docker][mongoDB] ubuntu에서 Docker에 mongoDB컨터이너 생성하기
🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋
'mongoDB' 카테고리의 다른 글
[mongoDB] 도커를 이용한 mongoDB 설치 (0) | 2021.11.23 |
---|
댓글