본문 바로가기

과목

MongoDB Indexing 인덱싱은 질의의 효율적인 해결을 지원한다. MongoDB는 질의문에 맞는 document를 선택하기 위해 collection의 모든 document를 다 스캔해야만 한다. 이러한 스캔은 매우 비효율적이고 MongoDB의 대량 데이터를 처리를 요구한다. 인덱스는 특별한 데이터 구조다. 탐색하기 좋은 방식으로 데이터 집합의 작은 부분을 저장한다. 인덱스를 생성하기 위해 ensureIndex() 메서드를 사용한다. db.collection_name.ensureIndex({KEY : 1})여기서 KEY는 인덱스를 생성하고 싶은 field의 이름이다. 1은 오름차순 -1은 내림차순이다. 예db.mycol.ensureIndex({"title" : 1}) ensureIndex()에서 여러 field를 전달할 수 있고..
MongoDB sort MongoDB에 있는 document를 정렬하기 위해 sort() 메서드를 쓴다. 메서드는 정렬 순서와 필드 목록이 포함된 문서를 허용한다. 1은 오름차순이고 -1은 내림차순이다. db.collection_name.find().sort({KEY : 1}) 다음과 같은 데이터를 갖는 mycol collection이 있다고 하자{ "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"} { "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"} { "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview..
MongoDB Limit limit() 메서드는 MongoDB에 있는 document를 제한한다. 이 메서드는 출력하고 싶은 document의 수를 의미하는 하나의 숫자형 인수를 허용한다. db.collection_name.find().limit(number) 아래와 같은 mycol collection이 있다고 하자{ "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"} { "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"} { "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview"} 오직 두개의 document만..
MongoDB Projection projection은 오직 필요한 데이터를 선택함을 의미한다.find() 메서드를 쓰면 document의 모든 field가 출력된다. 이걸 제한하기 위해 field의 리스트를 1 또는 0으로 설정할 필요가 있다. 1은 field를 보여주는 것이고 0은 field를 숨기는 것이다. db.collection_name.find({},{KEY:1}) { "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"} { "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"} { "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Poi..
MongoDB Delete Remove 어떻게 document를 삭제하는가 remove() 메서드는 collection으로부터 document를 삭제하는 데 쓰인다. remove() 메서드는 두 매개변수를 허용한다. 하나는 삭제 기준이고 다른 하나는 justOne flag이다. deletion criteria - (선택사항) document를 따르는 삭제 기준이 삭제됨justOne - (선택사항) true 또는 1로 설정되면 오직 하나의 document만 삭제함 db.collection_name.remove(delletion_criteria) 다음과 같은 mycol collection이 있다고 가정하자.{ "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"} { "_id" ..
MongoDB Update, Save update(), save() 메서드는 collection에 있는 document를 갱신하기 위해 사용된다. update() 메서드는 존재하는 document에 있는 값을 갱신한다. 반면에 save() 메서드는 존재하는 document를 save() 메서드에서 전달된 document로 바꾼다. update() 메서드의 기본 구문db.collection_name.update(selection_criteria, updated_data) mycol collection이 다음과 같은 데이터를 가진다고 하자.{ "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"} { "_id" : ObjectId(5983548781331adf45ec6), "t..
MongoDB Query document MongoDB collection으로부터 어떻게 document를 질의 하는가? MongoDB collection으로부터 데이터를 질의하기 위해 find() 메서드를 사용해야한다. db.collection_name.find() find() 메서드는 비 구조적인 방식으로 모든 document를 출력한다. 결과를 정형화된 방식으로 출력하려면 pretty() 메서드를 쓰면 된다.db.collection_name.find().pretty() 하나의 document만 반환하는 findOne() 메서드도 있다. MongoDB에서 RDBMS의 where 절과 같은 것OperationSyntaxExampleRDBMS EquivalentEquality{:}db.mycol.find({"by":"tutorials point..
MongoDB 삽입 MongoDB의 collection에 있는 document에 어떻게 삽입을 할까 collection에 데이터를 삽입하기 위해 save() 또는 insert()를 써야 한다. db.collection_name.insert(document) 예시db.mycol.insert({title : "MongoDB Overview",desc : "NoSQL",tags : ['mongodb', 'database', 'NoSQL']}) 여기서 mycol은 collection 이름이다. mycol이라는 collection이 존재하지 않는다면 MongoDB는 이 collection을 생성할 것이고 여기에 document를 삽입할 것이다. document 삽입할 때 _id 매개변수를 지정하지 않으면 MongoDB는 유일한 Ob..