nosql (14) 썸네일형 리스트형 [MongoDB] 11. 쿼리작성하기 - 배열 요소,배열 연산자로 쿼리하기 MongoDB에서 배열 요소로 쿼리를 할 수 있다. //db.컬렉션.find({필드:배열 요소}) or db.컬렉션.find({필드:[배열 요소들]}) db.inventory.find({tags:"red"},{_id:false}) db.inventory.find({tags:["red","blank"]},{_id:false}) MongoDB에서 배열 연산자를 통한 쿼리를 할 수 있다. 배열 연산자 종류 연산자 설명 $all 순서와 상관없이 요소가 모두 포함되면 선택 $elemMatch 매치 조건과 맞는 요소를 가진 도큐먼트 반환(범위 질의 가능) $size 해당 배열의 크기가 같은 도큐먼트 선택 $slice 배열의 부분 집합을 반환 $all // db.컬렉션.find(필드:{$all:[요소들]}) db.i.. [MongoDB] 9. 쿼리작성하기 - 연산자로 쿼리하기 MogoDB의 쿼리 구조 특징 MongoDB의 쿼리는 객체 형태로 작성한다. SQL보다는 가독성이 떨어짐 값으로 쿼리하기 //db.컬렉션.find({필드:값}) db.container.find({"name":"가위","price":3000}) 연산자로 쿼리하기 //db.컬렉션.find({필드:{연산자:값}}) db.container.find( { height : {$gte : 175 } } ) // height >= 175 쿼리에 사용되는 비교연산자들 연산자 설명 $eq 같다 $ne 같지 않다 $gt 크다 $gte 크거나 같다 $lt 작다 $lte 작거나 같다 $in 하나라도 있는 경우 출력 $nin 하나도 없는 경우 출력 비교 연산자 연습 $eq // db.컬렉션.find({필드: {$eq:"비교할 값.. [MongoDB] 8. 기본 명령어 - $사용법 ,deleteMany(), drop() $ 사용법 // 사용법1 : 배열 위치 기반 접근 db.컬렉션.updateOne( {"접근할 필드.배열안의 필드":값}, {$수정연산자 : {접근할 필드.$.배열안의 필드 : 수정할 값} // 2. 필드 값이 배열인 경우 수정 - arrayFilters // 배열 요소의 일부를 수정할 때의 명령어 db.컬렉션.updateMany( {query}, {$수정연산자} : {배열.$[id]" : 이 값으로 수정}}, {arrayFilters : [{배열 : 조건 값}]} ) 특정 도큐먼트의 삭제 - deleteMany() db.컬렉션.deleteMany({필드 : 값}) // 필드의 값에 해당하는 도큐먼트 삭제 컬렉션의 삭제 - drop() db.컬렉션.drop() // 컬렉션이 삭제됨 [MongoDB] 7. 기본 명령어 - replace, update var : 재선언 할 수 있는 변수 선언할 수 있다. let : 재선언 할 수 없는 변수 선언, vES6의 Javascript에서 권장된다. MongoDB에서는 var나 let으로 변수를 선언하여 값을 저장할 수 있다. 변수는 쉘이 종료되면 사라짐. 변수 접근은 '.' 연산자를 사용하여 접근 // var 변수명 = {필드:값} // let 변수명 = {필드:값} // 변수명.필드명 var myVar = {"color":"red"} let a = {name: {fname:"Karoid", lname:"Park"}} a.name.fname a.name.lname MongoDB의 배열 [] 기호안에 정의된다. 사용하는 곳 하나의 필드가 여러 개의 값을 가질 때 여러개의 도큐먼트 삽입(insertMany()) .. [MongoDB] 6. 기본 명령어 - find() capped collection 정해진 크기를 초과하면 자동으로 오래된 데이터를 삭제하는 컬렉션이다. 생성 시 :"크기" 설정을 할 수 있다. db.createCollection("컬렉션 이름",{capped:true, size: 크기}) db.createCollection("test",{capped:true, size: 10000}) // 사이즈 단위는 바이트 컬렉션은 WiredTiger라는 엔진의 줄임말인 .wt 파일의 형태로 저장된다. find()의 사용법 특정 필드 값으로 찾기 db.컬렉션.find({필드:값}) db.article.find({author:"kim"}) 특정 필드 찾기 : projection document에서 원하는 필드만 선택하여 출력가능 db.컬렉션.find({query},{.. 이전 1 2 3 다음