티스토리 뷰

DataBase/MongoDB

MongoDB 기본 쿼리문

IT공부블로그 2019. 4. 2. 12:42
728x90
반응형

typeof db

 

db.users.insert({name:"둘리"}) // name이 둘리인 document 생성

 

show collections // collections == table

 

db.users.find() // select * from users

 

db.users.find({name:"둘리"}) // 조건주는거 id 자동으로붙음

 

db.users.insert({name:"마이콜"})

 

db.users.update({} // 조건(다업데이트), {} // 업데이트할내용)

 

db.users.update({name:"둘리"} // 조건 name이 둘리, {name:"어쩌구"} // 어쩌구로 변경)

 

db.users.remove({}) // 몽땅 다지움 안에 {} where 조건이없는거

 

db.users.find({}, {_id:0}) // 0이면 보이지않고 1이면 보임 id 이외의 속성을 추가할시 속성을 쓰지않으면 보이지않는걸로 간주

 

db.users.count() //  document count세기

 

db.users.save // save 없으면 넣고 있으면 update

 

db.users.update({name:"둘리"} // 조건, {$set:{name:"또치"} // 바꿀내용}) // update users set name="또치" where name="둘리

set 써줘야한다 안그러면 다바뀌니까

지울때는 unset

 

db.users.update({name:"michol"}, {$unset:{name:"또치"}})

 

db.users.update({}, {$set:{age:0, email:null}}, false // 조건에맞지않으면 false, true // 바꿔라)

 

db.users.update({name:"또치"}, {$inc:{age:-20}})  // inc 값을 더하거나 뺄수있음

 

db.users.update({}, {$set:{hobbies:[]}}, false, true) // 배열추가

 

db.users.update({name:"또치"}, {$push:{hobbies:"수영"}}) // 배열에 추가 뒤로

 

pushAll 3버전부터 변함  db.users.update({name:"michol"}, {$pushAll:{hobbies:["독서"]}}) 이건 이제 에러

 

db.users.update({name:"michol"}, {$push:{hobbies:{$each:["독서", "오리"]}}}) // 이형식으로 변함

 

컬럼은 보이게 안하고싶으면   id 제외한 컬럼에 값을 하나씩 주기시작하면 그뒤에 안적어주면 안보임

 

db.users.find({}, {_id:0, name:1}) // id 안보이고 name 보이고 그외 컬럼은 다안보임 id 빼고 0 섞어서 쓸수없음

 

속성의 순서가 다르면 문서가 다르다라고 인식해야하지만 다른건아니다?

 

db.users.update({name:"마이콜"}, {$inc:{age:16}, $set:{hobbies:["요리", "수영"]},$set:{contacts:{phone:"111-1111-1111", email:"michol@gmail.com"}}})

 

db.users.find({age:{$lt:20, $gt:10}})  

$!= == 같지않으면

$all == 모두일치

$in == 중에 하나라도 일치

$nin == 중에 하나라도없는

$exists == 존재안하면 false, 존재하면 true

$or == 둘중 하나

 

 

나이가 20살 미만

db.users.find({age:{$lt:20}}, {_id:0, name:1, age:1, email:1, contacts:1, hobbies:0})

 

 나이가 20살 이상이고 수영을 취미로 가지고 있는 사용자

 db.users.find({hobbies:"수영", age:{$gte:20}}, {_id:0, name:1, age:1, hobbies:1})

 

나이가 16~20 사이의 사용자 검색

db.users.find({age:{$gte:16, $lte:20}}, {_id:0, name:1, age:1})

 

 수영을 취미로 가지고 있는 사용자

db.users.find({hobbies:{$in: ["수영", "요리"]}}, {_id:0, name:1, hobbies:1})

 

 수영을 취미로 가지고 있지 않는 사용자

db.users.find({hobbies:{$nin: ["수영"]}}, {_id:0, name:1, hobbies:1})

 전화번호가 000-0000-0000 인 사용자 (중첩쿼리)

db.users.find({"contacts.phone": "000-0000-0000"}, {_id:0, name:1, contacts:1})

 

연락처가 없는 사용자

 db.users.find({contacts:{$exists:false}}, {_id:0, name:1, contacts:1})

 취미가 수영이거나 축구인 사용자 (OR 조건)

 db.users.find({$or : [{hobbies:"수영"}, {hobbies: "축구"}]}, {_id:0, name:1, hobbies:1})

 

 수영을 취미로 가지고 있는 사용자 삭제 하기

db.users.remove({hobbies:"수영"})

 

컬렉션 내의 모든 문서 삭제  

db.users.remove({})

 

 데이터베이스에 대한 정보 얻기

show dbs

 

현재 사용 중인 데이터베이스의 모든 컬렉션 보기 

show collections

 

데이터베이스에 대한 좀더 자세한 정보 얻기

db.stats()

 

 각 컬렉션에 대한 좀더 자세한 정보 얻기

db.users.stats()

 

 취미가 수영이거나 축구인 사용자 (OR 조건)

db.users.find({$or : [{hobbies:"수영"}, {hobbies: "축구"}]}, {_id:0, name:1, hobbies:1})

728x90
반응형

'DataBase > MongoDB' 카테고리의 다른 글

MEAN Stack + MongoDB 설명  (0) 2019.04.02
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함