일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터 과학
- 빅 데이타
- MongoDB
- 김양재 목사님
- openCV
- 몽고디비
- Big Data
- nodeJS
- 딥러닝
- 인공지능
- c++
- 김양재 목사
- node.js
- 김양재
- 확률
- WebGL
- 통계
- 주일설교
- 빅데이터
- No SQL
- 우리들교회
- data science
- 빅데이타
- Statistics
- 빅 데이터
- Artificial Intelligence
- Machine Learning
- R
- probability
- Deep learning
- Today
- Total
목록DATABASE (20)
Scientific Computing & Data Science
Written by cinema4d이번 글에서는 기타 쿼리 연산자들에 대해 알아 보도록 하겠다. 다음과 같은 도큐먼트를 생성한다. for(i = 1; i < 101; i++) { var myRandom = Math.floor(100 * Math.random()); if(myRandom < 21) db.myCollection.insert({name: "dog", random: Math.floor(Math.random()*100)}) else if(myRandom < 41) db.myCollection.insert({name: "cat", random: Math.floor(Math.random()*100)}) else if(myRandom < 61) db.myCollection.insert({name: "p..
Written by cinema4d앞서 "Cursors"를 다룬 글에서 도큐먼트 쿼리 시 "skip"을 통해 도큐먼트를 건너뛰는 것에 대해 알아본 바 있다. "skip" 연산자는 작은 규모의 도큐먼트에 대해서는 적당할 지 모르지만, 도큐먼트 규모가 커지면 건너뛰는 속도가 현저히 떨어진다. 이것은 MongoDB만의 문제가 아닌 거의 모든 데이터베이스에서 공통적으로 나타나는 현상이다.따라서, 큰 규모의 도큐먼트에서 도큐먼트를 건너뛰어 검색 결과를 받아올 때 "skip"은 반드시 피해야 한다. skip 없이 결과 표시하기다음과 같이 1 ~ 30000까지의 "cnt" 값을 가지는 도큐먼트를 생성해 보자: for(i=1; i var myCursor = db.count.find({cnt: {$gt: 20000}})..
Written by cinema4d이번 글에서는 "Cursors"에 대해 알아보도록 하겠다."Cursors"는 MongoDB가 find() 메써드를 통해 넘겨주는 결과의 집합이다.Cursors를 통해 클라이언트-사이드에서는 반복 처리 등 다양한 처리가 가능하다. DB가 넘겨주는 결과수를 제한할 수 있으며, 결과의 개수를 건너뛸 수 있으며, key 조합을 통해 결과를 분류하거나 검색 방향을 제어할 수 있는 등 기타 강력한 오퍼레이션을 구성할 수 있다.우선 간단한 예로써, 각 도큐먼트에 1에서 100까지의 정수를 저장하는 JavaScript를 작성해 보자: for(i=1; i myCursor { "_id" : ObjectId("52f381cc2d911bccacf21963"), "cnt" : 1 } { "_i..
Written by cinema4d임베드 된 도큐먼트에 대한 쿼리 방법은 크게 두 가지로 요약할 수 있다: (1) 전체 도큐먼트에 대한 쿼리(2) 개별 키(key)/값(value) 쌍을 이용한 쿼리 상기 두 가지 방법에 대해 각각 알아보도록 하겠다. 1. 전체 도큐먼트에 대한 쿼리우선, 다음 명령을 통해 임베드 된 도큐먼트를 준비한다.> db.users.drop() true > db.users.insert({name: {first: "john", last: "kennedy"}}) > db.users.findOne() { "_id" : ObjectId("52edaa32f97299c19188c2dc"), "name" : { "first" : "john", "last" : "kennedy" } }"name" ..
by Geol Choi | February 1, 2014이번 글에서는 "$slice" 오퍼레이터에 대해 알아 보도록 하겠다. "$slice"는 특정 key의 array 아이템들 중 일부분을 추출하는데 사용된다.가령, 다음과 같이 아이템이 있다고 하자.> db.food.drop() > db.food.insert({"fruit": ["apple", "orange", "plum", "banana", "peach", "mango", "pineapple", "grape", "melon", "water melon", "cherry", "kiwi", "strawberry"]}) "fruit" 중 처음 다섯개의 아이템을 추출하려면 다음과 같은 입력한다.> db.food.find( {}, { fruit: { $slice..
by Geol Choi | January 30, 2014"update" 쿼리는 기본적으로 기준에 부합하는 첫번째 도큐먼트만 업데이트 한다. 즉 기준에 부합하는 도큐먼트가 더 있을 경우 부합하는 첫번째 도큐먼트를 제외한 나머지 도큐먼트의 내용은 그대로 유지된다. 만약 기준에 부합하는 모든 도큐먼트를 업데이트하려면 "update"의 네번째 파라미터를 "true"로 설정한다. 우선 테스트용 데이터를 다음과 같이 준비하는데 고객의 이름과 생일을 입력해 보자.db.customers.remove() db.customers.insert({name: "gchoi", birthday:"08/22"}) db.customers.insert({name: "jmpark", birthday:"04/02"}) db.customer..
Written by cinema4d이번 글에서는 "$pop" modifier와 "$pull" modifier를 통해 DB로부터 아이템을 삭제하는 법에 대해 알아보겠다.우선 "$pop" modifier는 특정 key의 아이템을 첫번째부터 또는 마지막부터 하나씩 삭제하는 명령어이다. {$pop : {key : 1}}는 array 아이템의 맨 마지막으로부터 하나씩 삭제하며 {$pop : {key : -1}}는 첫번째 아이템부터 하나씩 삭제한다.다음 예를 통해 자세히 알아보자. 우선 다음 명령어를 통해 아이템을 준비하자. var user = {"username" : "gchoi", "age" : 37}; db.users.insert(user); db.users.update({"username" : "gchoi"..
Written by cinema4d앞서 설명한 바와 같이 "$push" modifier를 통해 동일한 아이템을 추가할 경우 중복적으로 추가됨을 살펴 보았다.만약 동일한 아이템을 추가할 때 중복적으로 추가하지 않도록 하려면 "$addToSet" modifier를 사용하면 된다.우선 다음과 같이 입력해 보자. use foobar var user = {"username" : "gchoi", "age" : 37}; db.users.insert(user); db.users.update({"username" : "gchoi"}, {$push : {"email" : "gchoi@gmail.com"}}); 결과를 확인해 보면 다음과 같다.> db.users.find() { "_id" : ObjectId("52e3d4d..
Written by cinema4d이번 글에서는 "$push" modifier에 대해 알아 보겠다."$push" modifier는 DB에 item을 계속 추가하는 명령어이다.우선 설명에 앞서 다음 명령어를 준비하자. use foobar var user = {"username" : "gchoi", "age" : 37}; db.users.insert(user); 다음과 같은 결과를 확인할 수 있을 것이다.> db.users.find() { "_id" : ObjectId("52e3c2e4623bbd008840d66f"), "username" : "gchoi", "age" : 37 } 이제 "$push" modifier를 통해 "email"을 추가해 보자. db.users.update({"username" : ..
Written by cinema4d 클라우드 호스팅 기반의 MongDB 서비스인 Mongo Lab의 설정 및 사용법에 대해 알아보기로 하겠다. 1. Mongo Lab 웹사이트 접속: https://mlab.com 2. 공짜를 원하시면 화면에서 "Get 500MB free!" 버튼을 클릭한다. 3. 만약 계정이 없거나 로그인이 되지 않은 상태라면 계정 생성 페이지로 안내된다. 4. 계정 생성 시 반드시 Master Service Agreement 페이지를 열어야 한다. 자세히 읽어볼 것을 권장하지만 바쁘신 분들은 한 번 스크롤해 보시고 페이지를 닫는다. 5. 계정 설정이 완료되면 "Create Account" 버튼을 클릭하여 계정을 생성한다. 6. 5번이 완료되면 자동으로 Databases 설정 페이지로 ..