TIL_MongDB(2)

해달·2021년 9월 3일
0

TIL

목록 보기
42/80
post-thumbnail

Today 공부

  • MongoDB CURD
  • MongoDB 연산자

MongoDB CURD

  • CREATE - insert
  • Insert 명령어를 사용하면, 주어진 도큐먼트 배열의 인덱스 순서로 작업이 실행된다.
  • 2번째 인자로 ordered를 추가하면, 순서에 상관없이 고유한 _id를 가진 도큐먼트는 모두 컬렉션에 삽입된다.
db.___collection name____.insert({field : value})
db.___collection name____.insert({field : value},{field : value},{field : value}) // 다수 도큐먼트 삽입

  • READ - find
db.___collection name____.find(<쿼리문>)
db.zips.find() // 전체 
db.zips.find().count() //  zips 컬렉션 안 모든 데이터의 수가 출력
db.zips.find({"state" : "NY"})
db.zips.find({“state” : “NY”, “city” : “ALBANY”}) // 여러 조건
db.zips.findOne({field : value}) //  특정한 1개의 데이터만을 조회

  • update - updateOne,updateMany
  • updateOne : 주어진 기준에 맞는 다수의 도큐먼트 중 첫번째 도큐먼트 하나만 업데이트
  • updateMany :쿼리문과 일치하는 모든 도큐먼트 업데이트
db.zips.updataMany({field:value},{"$inc" : {}})
// ({업데이트 할 도큐먼트를 결정하는 조건},{MQL 연산자 $inc 사용 특정한 필드의 값을 주어진 만큼 증가}})
updataOne, $set 
// $set 연산자도 $inc 연산자와 같이 다양한 필드에 값을 지정하기 위해서 사용할 수 있다

  • DELETE - deleteOne, deleteMany (도큐먼트삭제)
  • Drop(컬렉션을 삭제하기 위해서는 drop이라는 명령어를 사용)
db.___collection name____.deleteOne({})
db.___collection name____.drop()

MongoDB 쿼리연산자

쿼리연산자는 데이터 베이스내에서 데이터를 찾는 다양한 방법을 제공합니다.
비교 연산자를 이용해 특정한 범위 내의 데이터를 찾을 수 있습니다.

  • 비교연산자
    문법 : { field : { operator : value } }
$eq   EQual to  //같다
$ne   Not Equal to // 안같다
$gt   Greater Than // 크다
$lt   Less Then // 작다
$gte  Greater Than or Equal to // 크거나 같다
$lte  Less Than or Equal to // 작거나 같다
  • 논리연산자
    문법 : { field : {},{}, ...}
$and // 주어진 모든 쿼리절과 일치하는가
$or // 주어진 쿼리절 하나라도 일치하는가
$nor // 주어진 모든 쿼리절과 일치하지 않는가
$not // 주어진 쿼리와 일치하지 않는가
  • 표현연산자
    문법 : {$expr : {<>}}
$expr // 쿼리내에서 집계 표현식을 사용 할 수 있다.
$는 필드의 값을 참조 할 수 있다.
  • 배열 연산자(Array Operators)
$size 배열 연산자는 지정된 배열 필드가 주어진 길이와 정확히 일치하는 모든 도큐먼트들이 있는 커서를 반환한다.

$all 배열 연산자는 지정된 배열 필드의 배열 순서와 관계없이 지정된 모든 요소가 포함된 모든 도큐먼트들이 있는 커서를 반환한다. 

마치며,

MongoDB를 공부하면서 NoSQL대해서도 알게 되었고,
이전에 배운 sql과 js 덕분에 완전 새로운것을 배운다는 느낌은 들지 않았으나 처음 배우기때문에 많이 헷갈렸었던거 같다.
Nosql과 sql의 장단점이 다 따로 있고, 나중에 프로젝트를 하게 될때 사용 할수도 있으니
mongdb로 진행되는 강의가 있다면 한번 진행해보고 싶다는 생각이 들었다.

0개의 댓글