use DATABASE_NAME
> use test // 없으면 생성
switched to db test
> db // 현재 사용 DB
test
db.dropDatabase()
❕ 명령어 사용 전, use DATABASE_NAME
으로 삭제하고자 하는 데이터 베이스를 선택
> use test
switched to db test
> db.dropDatabase()
{ "ok" : 1 }
db.createCollection()
db.createCollection(name. [options])
형식으로 사용> use test
switched to db test
> db.createCollection("first");
{ "ok" : 1 }
> show collections // collection 확인
first
> db.book.insert({"name":"python","price":10000}) // book collection 자동 생성
WriteResult({ "nInserted" : 1 })
> show collections
book
first
db.COLLECTION_NAME.copyTo(NEW_COLLECTION_NAME)
> db.book.copyTo("book2")
WARNING: db.eval is deprecated
8
db.COLLECTION_NAME.drop()
> use test
switched to db test
> show collections
book
first
> db.book.drop()
true
> show collections
first
db.COLLECTION_NAME.insert(document)
> db.book.insert({"name":"java","price":12000}) // 하나씩 삽입
WriteResult({ "nInserted" : 1 })
> db.book.insert({"name":"javascript","price":8000})
WriteResult({ "nInserted" : 1 })
> db.book.insert([ // 한번에 여러 도큐먼트 배열로 삽입
{"name": "pandas", "price": 21000},
{"name": "R", "price": 23000}
])
BulkWriteResult({
"writeErrors" : [ ],
"writeConcernErrors" : [ ],
"nInserted" : 2,
"nUpserted" : 0,
"nMatched" : 0,
"nModified" : 0,
"nRemoved" : 0,
"upserted" : [ ]
})
db.COLLECTION_NAME.remove(criteria [, justONE])
parameter | type | 설명 |
---|---|---|
criteria | document | 삭제할 데이터의 기준 값(criteria) 이 값이 { } 이면 컬렉션의 모든 데이터 제거 |
justOne | boolean 선택적(Optional) | 매개변수이며 이 값이 true 면 1개 의 다큐먼트만 제거이 매개변수가 생략되면 기본값은 false 로서, criteria에 해당되는 모든 다큐먼트를 제거 |
> db.book.remove({"name": "R"}) // 전부 삭제
WriteResult({ "nRemoved" : 2 })
> db.book.remove({"name": "R"}, true) // 한개의 다큐먼트만 삭제
WriteResult({ "nRemoved" : 1 })
db.COLLECTION_NAME.update({matchQuery}, {updateQuery} [, {optionQuery}])
matchQuery
: 원하는 값을 찾을 검색 쿼리updateQuery
: 일치하는 document를 찾은 후 변경 할 쿼리 입력optionQuery
: 동작 방식에 대한 옵션upsert
: update와 insert의 합성matchQuery
에 일치하는 결과가 없는 경우 새로운 값을 추가 할 것인지 여부를 선택true
/false
로 설정하며 기본값은 false
multi
: 여러 개의 일치하는 document가 존재할 경우 모두 변경false
이며 하나의 document만 변경// 이름이 python인 도큐먼트의 가격을 변경
> db.book.update({"name": "python"}, { "name" : "python", "price":10000 })
// 이름이 python인 도큐먼트가 price만 가지고 있는 도큐먼트로 변경 됨
> db.book.update({"name": "python"}, {"price":10000 })
// 특정 필드값만 바꾸고 싶을 때 : $set으로 필드 지정
> db.book.update({"name": "python"}, {$set:{"price":10000}})
// 이름이 pandas인 도큐먼트의 가격을 20000으로 바꾸고 없을시 새로 생성
> db.book.update({"name": "pandas"}, { "name" : "pandas", "price":20000 }, {upsert : true} )
db.COLLECTION_NAME.find(query, projection)
원형(find()
)으로 사용 시 전부 출력
> db.book.find()
{ "_id" : ObjectId("61c2c81dfe50f580f7bfb2e3"), "name" : "python", "price" : 10000 }
{ "_id" : ObjectId("61c2c8bffe50f580f7bfb2e4"), "name" : "java", "price" : 12000 }
{ "_id" : ObjectId("61c2c8c8fe50f580f7bfb2e5"), "name" : "javascript", "price" : 8000 }
{ "_id" : ObjectId("61c2c8d3fe50f580f7bfb2e6"), "name" : "html5", "price" : 8000 }
{ "_id" : ObjectId("61c2c8defe50f580f7bfb2e7"), "name" : "django", "price" : 20000 }
{ "_id" : ObjectId("61c2c8e6fe50f580f7bfb2e8"), "name" : "spark", "price" : 25000 }
> db.book.find({},{'name' : 1}) // name만 출력, but id는 기본 출력
{ "_id" : ObjectId("61c2c81dfe50f580f7bfb2e3"), "name" : "python" }
{ "_id" : ObjectId("61c2c8bffe50f580f7bfb2e4"), "name" : "java" }
{ "_id" : ObjectId("61c2c8c8fe50f580f7bfb2e5"), "name" : "javascript" }
{ "_id" : ObjectId("61c2c8d3fe50f580f7bfb2e6"), "name" : "html5" }
{ "_id" : ObjectId("61c2c8defe50f580f7bfb2e7"), "name" : "django" }
{ "_id" : ObjectId("61c2c8e6fe50f580f7bfb2e8"), "name" : "spark" }
> db.book.find({},{'name' : true}) // name만 출력, but id는 기본 출력
{ "_id" : ObjectId("61c2c81dfe50f580f7bfb2e3"), "name" : "python" }
{ "_id" : ObjectId("61c2c8bffe50f580f7bfb2e4"), "name" : "java" }
{ "_id" : ObjectId("61c2c8c8fe50f580f7bfb2e5"), "name" : "javascript" }
{ "_id" : ObjectId("61c2c8d3fe50f580f7bfb2e6"), "name" : "html5" }
{ "_id" : ObjectId("61c2c8defe50f580f7bfb2e7"), "name" : "django" }
{ "_id" : ObjectId("61c2c8e6fe50f580f7bfb2e8"), "name" : "spark" }
> db.book.find({},{'name' : 1, '_id' : 0}) // name만 출력, id도 강제로 출력 X
{ "name" : "python" }
{ "name" : "java" }
{ "name" : "javascript" }
{ "name" : "html5" }
{ "name" : "django" }
{ "name" : "spark" }
> db.book.find({},{'name' : true, '_id' : false})// name만 출력, id도 강제로 출력 X
{ "name" : "python" }
{ "name" : "java" }
{ "name" : "javascript" }
{ "name" : "html5" }
{ "name" : "django" }
{ "name" : "spark" }
> db.book.find({price : {$lt : 10000}}, {name : true, price : true, _id : false})
{ "name" : "javascript", "price" : 8000 }
{ "name" : "html5", "price" : 8000 }
> db.book.find({$and : [ {price : {$gte : 10000}},{price : {$lt : 20000}}]},
{name : true, price : true, _id : false})
{ "name" : "python", "price" : 10000 }
{ "name" : "java", "price" : 12000 }
> db.book.find({"name": "javascript"})
{ "_id" : ObjectId("61c2c8c8fe50f580f7bfb2e5"), "name" : "javascript", "price" : 8000 }
> db.book.find({"name": { "$regex" : "^java"}})
{ "_id" : ObjectId("61c2c8bffe50f580f7bfb2e4"), "name" : "java", "price" : 12000 }
{ "_id" : ObjectId("61c2c8c8fe50f580f7bfb2e5"), "name" : "javascript", "price" : 8000 }
> db.book.find({"price": { "$gt" : 8000}})
{ "_id" : ObjectId("61c2c81dfe50f580f7bfb2e3"), "name" : "python", "price" : 10000 }
{ "_id" : ObjectId("61c2c8bffe50f580f7bfb2e4"), "name" : "java", "price" : 12000 }
{ "_id" : ObjectId("61c2c8defe50f580f7bfb2e7"), "name" : "django", "price" : 20000 }
{ "_id" : ObjectId("61c2c8e6fe50f580f7bfb2e8"), "name" : "spark", "price" : 25000 }
출력 결과를 정리하여 출력
> db.book.find().pretty() // 정리 후 출력
{
"_id" : ObjectId("61c2c81dfe50f580f7bfb2e3"),
"name" : "python",
"price" : 10000
}
{
"_id" : ObjectId("61c2c8bffe50f580f7bfb2e4"),
"name" : "java",
"price" : 12000
}
{
"_id" : ObjectId("61c2c8c8fe50f580f7bfb2e5"),
"name" : "javascript",
"price" : 8000
}
{
"_id" : ObjectId("61c2c8d3fe50f580f7bfb2e6"),
"name" : "html5",
"price" : 8000
}
{
"_id" : ObjectId("61c2c8defe50f580f7bfb2e7"),
"name" : "django",
"price" : 20000
}
{
"_id" : ObjectId("61c2c8e6fe50f580f7bfb2e8"),
"name" : "spark",
"price" : 25000
}
> db.book.find().sort({"price": 1}) // 정렬 (-1은 Desc)
{ "_id" : ObjectId("61c2c8c8fe50f580f7bfb2e5"), "name" : "javascript", "price" : 8000 }
{ "_id" : ObjectId("61c2c8d3fe50f580f7bfb2e6"), "name" : "html5", "price" : 8000 }
{ "_id" : ObjectId("61c2c81dfe50f580f7bfb2e3"), "name" : "python", "price" : 10000 }
{ "_id" : ObjectId("61c2c8bffe50f580f7bfb2e4"), "name" : "java", "price" : 12000 }
{ "_id" : ObjectId("61c2c8defe50f580f7bfb2e7"), "name" : "django", "price" : 20000 }
{ "_id" : ObjectId("61c2c8e6fe50f580f7bfb2e8"), "name" : "spark", "price" : 25000 }
> db.book.find().sort({"price": -1, "name": 1})
{ "_id" : ObjectId("61c2c8e6fe50f580f7bfb2e8"), "name" : "spark", "price" : 25000 }
{ "_id" : ObjectId("61c2c8defe50f580f7bfb2e7"), "name" : "django", "price" : 20000 }
{ "_id" : ObjectId("61c2c8bffe50f580f7bfb2e4"), "name" : "java", "price" : 12000 }
{ "_id" : ObjectId("61c2c81dfe50f580f7bfb2e3"), "name" : "python", "price" : 10000 }
{ "_id" : ObjectId("61c2c8d3fe50f580f7bfb2e6"), "name" : "html5", "price" : 8000 }
{ "_id" : ObjectId("61c2c8c8fe50f580f7bfb2e5"), "name" : "javascript", "price" : 8000 }