본문 바로가기

IT/MongoDB6

[12일차] MongoDB 정리본 2022-07-05 TUE sample DB 사용 db.companies.findOne({name : /Twitter/}) db.companies.aggregate([ {$match: {"ipo.pub_year": {$exists: true, $ne: null}}}, {$group:{ _id : {ipo_year: "$ipo.pub_year"}, companies: {$push: "$name"} }}, {$sort: {"_id.ipo.pub_year" : 1}} ]) db.companies.aggregate([ {$group: { _id: null, count: {$sum: 1} }} ]) // document 개수세기 db.companies.aggregate([ {$group: { _id: "$cate.. 2022. 7. 5.
[12일차] MongoDB 2022-07-05 TUE ipo 기업공개(企業公開, 영어: initial public offering, IPO)는 기업 설립 후 처음으로 외부 투자자에게 주식을 공개하고, 이를 매도하는 업무를 의미한다. 주식을 공개하는 방법으로는 자신의 회사주를 주식 시장에 등록하는 작업을 들 수 있다. 기업공개 과정 가운데, 회사는 외부자금을 빌리는 경우가 많다. 하지만 일단 상장거래가 된 후, 주가가 높아 졌을 시, 추가적인 주식 발행을 통해 자금 조달을 할 수 있다. [위키백과] document 개수 세는 방법 test DB use lookup 연산자 https://www.mongodb.com/docs/manual/reference/operator/aggregation/lookup/ 2022. 7. 5.
[11일차] MongoDB 정리본 db.restaurants.aggregate([{ $match: { cuisine: "Hamburgers" } }]) db.restaurants.findOne() db.restaurants.aggregate([ { $match: { cuisine: "Hamburgers" } }, // 배열이 stage 추가 가능 { $sort: { name: 1 } }, // 오름차순 정렬 { $skip: 10 }, // 상위 10개 skip { $limit: 10 }, // 10개만 출력 { $project: { _id: 0, cuisine: 1, borough: 1, name: 1 } } ]) db.restaurants.aggregate([ { $match: { "address.street": "Stillwell A.. 2022. 7. 4.
[11일차] Studio 3T for MongoDB 2022.07.04 Studio 3T for MongoDB Upsert 있으면 업데이트 없으면 insert 내부적으로 upsert를 제공한다. $inc 연산자는 이미 존재하는 키의 값을 변경하거나 새 키를 생성하는 데 사용한다. 분석, 분위기, 투표 등과 같이 자주 변하는 수치 값을 갱신하는 데 매우 유용하다. 3이 나올 것 같지만,, 28이 나온다. 이유는? 동작 메커니즘이 있다. upsert니깐 없으니 추가하고 있으니 업데이트해주는 rep가 25인 새로운 도큐먼트를 만들고 3만큼 증가시켜 rep는 28이 된다. 갱신 입력을 지정하지 않으면 {"rep" : 25}는 어떤 도큐먼트와도 일치하지 않으며 25일도 발생하지 않는다. 똑같이 들어가는 거 확인 gift 필드 추가해서 삽입한 도큐먼트 세개에 각각 .. 2022. 7. 4.
[10일차] MongoDB 정리본 RDB NoSQL 개념이 따로 있는게 아니라 영어로 보면 one is red , others blue Select 이런걸 사용하지 않는 모든게 noSQL 영역이 따로 있는게 아니고 나머지를 다 포함시킨다. EX) - humongous(거대한)에서 나온,, MongoDB - 분산, documents에 최적화 Redis HDB(입력기반빠르게 처리) 다 제각각… 10gen Cafe24 리눅스 플랫폼을 서비스 도메인 구입 대행 제공 - PaaS 서비스형 플랫폼…. 2000년대 => 양이 어마어마하다 고객들의 데이터 증가.. 자체 개발 설계 데이터는 늘어나니깐 물리적으로 한개의 서버 정착 불가능 물리적으로 여러 머신의 데이터 mongoDB Sharding 기법 여러 데이터베이스를 나눠서 관리 어떤 키값을 나눠서 .. 2022. 7. 1.
[10일차] MongoDB db.movies.insertMany([ {"title" : "Ghostbusters"}, {"title" : "E.T"}, {"title" : "Blade Runner"} ], {"ordered": true}) // 디폴트로 있는 것 그래서 기본 순서대로 들어감 db.movies.find() db.movies.drop() db.movies.insertMany([ {"_id" : NumberInt(0), "title" : "Top Gun"}, {"_id" : NumberInt(1), "title" : "Back to the Future"}, {"_id" : NumberInt(1), "title" : "Gremlins"}, // pk 중복 일부러 지정 {"_id" : NumberInt(2), "title".. 2022. 7. 1.