일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터 과학
- 딥러닝
- Statistics
- 우리들교회
- 김양재 목사님
- Machine Learning
- WebGL
- probability
- openCV
- 인공지능
- c++
- 빅데이터
- nodeJS
- R
- Artificial Intelligence
- 김양재
- MongoDB
- 확률
- Big Data
- 통계
- Deep learning
- No SQL
- 빅 데이타
- 주일설교
- data science
- 김양재 목사
- node.js
- 빅 데이터
- 몽고디비
- 빅데이타
- Today
- Total
목록Data Science/MongoDB (57)
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이번 글에서는 "$where" 오퍼레이터에 대해 알아보도록 하겠다."$where" JavaScript의 표현 또는 JavaScript 함수 전체를 쿼리에 전달할 수 있는 오퍼레이터이다.설명을 위해 우선 다음 데이터를 준비하자. db.grade.insert({student_id : "01", korean : "A", english: "B", maths : "A+", science : "A" }) db.grade.insert({student_id : "02", korean : "B", english: "B", maths : "A+", science : "B" }) db.grade.insert({student_id : "03", korean : "C", english: "A+..
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 | February 1, 2014"$size"는 array의 크기를 이용하여 검색할 수 있는 오퍼레이터이다.우선 다음과 같이 아이템을 준비하자.> db.food.drop() > db.food.insert({"_id" : 1, "fruit" : ["apple", "banana", "peach"]}) > db.food.insert({"_id" : 2, "fruit" : ["apple", "kumquat", "orange"]}) > db.food.insert({"_id" : 3, "fruit" : ["cherry", "banana", "apple"]}) > db.food.insert({"_id" : 4, "fruit" : ["pineapple", "plum"]}) ID 1, 2, 3에 ..
by Geol Choi | February 2, 2014우선 다음과 같이 "food" 컬렉션에 array 타입으로 도큐먼트를 추가한다:> db.food.drop() > db.food.insert({"_id" : 1, "fruit" : ["apple", "banana", "peach"]}) > db.food.insert({"_id" : 2, "fruit" : ["apple", "kumquat", "orange"]}) > db.food.insert({"_id" : 3, "fruit" : ["cherry", "banana", "apple"]}) "apple"과 "banana" 모두를 포함하는 도큐먼트는 ID 1과 ID 3이다. "$all"을 통해 이 두 가지 모두를 포함하는 도큐먼트를 검색해 보자.> db.f..
by Geol Choi | February 1, 2014find 쿼리는 지금까지 다룬 내용에서 숱하게 많이 사용된 쿼리이다.가장 기본적인 쿼리 중 하나로서 검색 조건에 대해 좀 더 알아보도록 하겠다.우선 다음과 같이 데이터를 준비하자.> db.customers.drop() > db.customers.insert({name: "gchoi", age: 37, birthday: "08/22", email: "cinema4dr12@gmail.com"}) > db.customers.insert({name: "jmpark", age: 25, birthday: "04/02", email: "raspberry@gmail.com"}) > db.customers.insert({name: "tjkwak", age: 32, ..
by Geol Choi | January 31, 2014이번 글에서는 findAndModify를 통해 도큐먼트를 업데이트하는 방법에 대해 알아보겠다. findAndModify는 제시된 기준의 아이템을 찾고 업데이트하는 일련의 과정을 한 번에 처리할 수 있는 편리한 명령이다. findAndModify 명령어의 인자에는 sort 기능이 있는데 지금까지 다룬 적이 없으므로 이 부분을 우선 이해하고 넘어가도록 하겠다.다음과 같이 데이터를 준비하자.db.tasks.insert({todo : "shopping", status : "READY", priority : "4"}) db.tasks.insert({todo : "studying Mongo DB", status : "READY", priority : "1"})..