본문 바로가기
728x90
반응형
SMALL

SQL23

12) mongoDB Tutorial - 배열 쿼리 배열쿼리 Querying Arrays genres랑 reviews가 배열쿼리면서 reviews는 또 중첩 Documents 장르가 판타지인 책 한번 가져와 보자 배열이라 해서 뭐 복잡할거 없다 알던대로 일단 써보면 엥 Array 배열인데 그냥 String 값 넣듯 넣으면 나온다고? 어떻게??? 걍 나온다 그러니 앞으로 이렇게 쓰면 된다 그리고 잘 보면 배열안에 들어있는채로 그 해당하는 책들이 나왔다 이게 배열이니깐 꼭 이렇게 써야만 할것 같다 그런데 안나온다. . 왜? 저렇게 생긴게 만약 이렇다면? 이건 또 나온다.. 왜 유일하잖음 자 정리하자 머가리 복잡해질라..ㅎㅎ 일단 저 안에 뭐가 있는지 몰라 와 아님 정확이 뭐가 들었는지 알아 로 이 둘로 나뉘는데 알면? 배열 [ ] 괄호 씌우고 모르면? [ ].. 2023. 10. 6.
11) mongoDB Tutorial - $in과 $nin (포함과 안포함) 연산자다 저것도 rating 값 안에 있음? 7, 8, 9 가 라는 말이다 그리고 해당하는 책만 가져왔다 {$or: [ { }, { }, { } ]} 이렇게 써도 상관은 읎다 다만 이건 좀 지저분하고 계산함에 있어 빠르진 않다 이 반대의 개념이 있다 함 보자 안포함 이다 {$nin: [n, m, o]} 저거 포함 안하는 책은 전부 가져온다 2023. 10. 6.
10) mongoDB Tutorial - 연산자와 복합연산자 쿼리 데이터를 필터 적용해 찾을때 db.books.find({ rating: 6 }) 하면 그에 해당하는 등급인 6짜리들 책만 쭈루룩 나올거다 그런데 만약에 저 등급이 6 이상 9미만 인 책을 찾으려면 어떻게 해야 하나? 생각나는건 연산자다. 그리고 그게 된다 mongoDB 에서도 {$gt: n } 가 있다 이런거 개발하다 많이 봤는데 뭐라 검색해야할지도 모르겠고 암튼 그랬잖음?? 저렇게 하면 6을 제외한 큰수의 책들만 나오게 된다 초과라 말한다 그럼 저 반대인 미만은 어떻게 씀? { $lt: n }를 쓰면 된다 $It 아니고 $lt 다 . . . . . . $아이티 아니고 $엘티다 똑같이 생겨먹어서 했갈리네... 저래 하면 결과는 8제외 보다 작은수만 나올거다 { $gte: n } : 이상 { $let: n.. 2023. 10. 6.
9) mongoDB Tutorial - Nested Documents { _id: ObjectId("651ea1c50f2a995b7b1b0d64"), title: 'Name of the Wind', author: 'Patrick Rothfuss', pages: 500, genres: [ '문학작품', '동화' ], rating: 9, } mongoDB에선 저기 왼쪽의 key를 필드라 말한다 json과 비슷하게 생긴 구조이며 저 하나의 Documents 안에 중첩으로 또 들어갈수도 있다 { _id: ObjectId("651ea1c50f2a995b7b1b0d64"), title: 'Name of the Wind', author: 'Patrick Rothfuss', pages: 500, genres: [ '문학작품', '동화' ], rating: 9, "stock": { "co.. 2023. 10. 6.
8) mongoDB Tutorial - Data Sorting과 Limiting 하기 데이터 찾을때 .find()를 썻고 특정 데이터 하나만 찾을땐 .findOne()을 썻었다 그리고 조건을 걸어 데이터를 찾을때는 .find({},{ filde_1: 1, filde_2: 1}) 이런식으로 했었다 자 그리고 지금 해볼것은 데이터 체이닝이다 .count()는 Documents가 총 몇개 들었는지 찾을때 쓴다 저자명을 넣고 몇개냐 찾는것도 된다 .limit(n)을 하게 되면 보여지는 데이터의 량을 제한을 걸 n개만큼 데이터가 나오게 된다 정렬 함 해보까 db.books.find().sort({ title: 1 }) 를 하게 되면 알파벳 순으로 정렬을 하게 된다 1이면 오름차순이고 -1이면 내림차순으로 SQL에서 ASC 랑 DESC같은거 -1을 하게 되니 내림차순이 됬다 지금까지 한거 스까보자 .. 2023. 10. 6.
7) mongoDB Tutorial - Documents 찾기 Shell에서 명령어로 Documents를 찾을수 있다 먼저 books 안에 있는 책 전부를 갖고오면 db.books.find() 를 하면 컬렉션 안의 전체 책을 갖고오게 된 지금은 7권만 등록이 되서 이것만 나오지만 기본적으로 mongodb는 20개까지 제공을 해 보여준다 이때만약 책이 200권있을때 it 이라는 키워드를 쓰면 그 다음 20개, 다음 20개 이런식으로 계속해 보여주게 된다. 필터 기능같이 조건으로 책을 가져와보자면 명령어로 이렇게 된다 저 가운에 들어가는 { 조건들 } 보면 GUI안에서 했던거랑 똑같단거 알수 있다 간단함 조건 하나 더 달아보자 그런데 생각을 해보니.. 조건을 달았다기 보다는 해당 입력값에 일치하는 Document를 갖고온 느낌이라 SQL로 치자면 SELECT * FRO.. 2023. 10. 6.
6) mongoDB Tutorial - 새 Documents 추가 해보자 명령어로 새 Documents를 추가 해 보려한다 use DB명 해서 Database 선택을 해주고 db.컬렉션명 해서 Collection 선택 해주고 db.컬렉션명.insertOne({ Documents 작성 }) 해주면 acknowledged값이 true가 되며 잘 생성됬음을 말해주고 _id값이 자동으로 부여 되며 Documents 하나가 추가가 된다 존재하지 않는것도 추가가 가능 하다 뭔소리냐.. authors 컬렉션은 존재하지 않는데 insertOne을 써서 Documents를 만들었다 그럼 이게 어떻게 되느냐? 이렇게 새 컬렉션이 생성되며 만들어 지는거다 만든김에 삭제도 해보자면 누르면 해당 Document 삭~제 누르르고 해당 Collection 명 입력해주면 삭~제 이렇게 지워서 하나 남았으.. 2023. 10. 6.
5) mongoDB Tutorial - MongoDB Shell 함 써보자 MongoDB에는 Shell도 제공한다 Shell....... 입력장치 Only 키보드로만 조지는거 그리고 따로 설치 해서 써야 한다 들었어서 안했는데 ( 아 이건 사실 맞음 설치 해야 터미널에서 사용가능함..) 그냥 컴퍼스 아래 존재했었음 아니 왜???? GUI랑 CUI랑 같이 붙여논건데?? 이걸 씀??? ㅇㅇ 쓰기도함.. 쓸줄알면 이게 더 편하다함 show dbs 를 하면 지금 로컬에 있는 모든 db 볼수 있다 지금 보면 우리가 test 라는 db에서 작업을 하고 있다는 말이지만.. 가만보면 test라는 데이터베이스는 존재하지 않는것도 알수 있다 use 키워드로 내가 진입할 DB를 골라 들어갈수 있다 방금 만든 bookstore 들어가자 use 키워드로 얼마든지 이동이 된다 자 test . . 실제로.. 2023. 10. 5.
4) mongoDB Tutorial - MongoDB Compass 함 써보자 mongoDB에 GUI가 있다 그리고 그거 초반에 설치를 했고 몽고디비 쉘이나 앱 코드안에서 작업을 수행하게 될거다 (걔를 쓸일은 확인 말곤 읎을듯. .) GUI라 그냥 시각적으로 확인 하려 있는거지 이게 데이터베이스를 시작해서 실행하는 방법과 데이터베이스에 일부 데이터를 추가하는 방법에대한 간단히 가지고 놀아보자 Atlas에서 서비스 이용한다하고 쓰는 방식이 있는데 저 안에 그 주소를 넣어 연결해 쓸수도 있는거고 내 컴 로컬 안에서도 주소 연결해 쓸수도 있다 로컬에서 쓰는법을 알아보자 그냥 원래 이상태에서 Connect 하면 바로 로컬 연결이 된다.. 혹시 an error occurred while loading instance info: invalid utf-8 string in bson docume.. 2023. 10. 5.
728x90