일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Deep learning
- 딥러닝
- 우리들교회
- nodeJS
- 확률
- node.js
- c++
- MongoDB
- 김양재
- R
- 빅데이타
- 데이터 과학
- 인공지능
- Machine Learning
- data science
- probability
- 몽고디비
- 통계
- No SQL
- Big Data
- Statistics
- WebGL
- 김양재 목사
- openCV
- 빅 데이터
- 빅 데이타
- 주일설교
- 빅데이터
- 김양재 목사님
- Artificial Intelligence
- Today
- Total
목록MongoDB (56)
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 | 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 | January 28, 2014 이번 글에서는 Node.js의 MongoDB 패키지인 mongoose를 이용하여 간단한 채팅 프로그램 개발에 대해 알아보도록 하겠다.주지하다 시피 Node.js와 MongoDB는 Windows/MacOS/Linux/Solaris 등의 OS를 지원하므로 어느 한 OS 상에서 구현된 것은 다른 OS에 이식하기가 매우 수월하다.본 내용은 Windows를 기반으로 설명하나 타 OS에서도 동일한 방식으로 구현이 가능함을 상기하기 바란다.우선 앞서 Node.js와 MongoDB를 연동하는 방법에 대해 알아본 바 있다. 이 방법에 대해 알고 있다는 전제하에 설명을 진행할 것이므로 만약 아직 연동 방법에 대해 모르고 계신 분들은 반드시 먼저 연습해 보시길 바란다..
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 Geol Choi | Jan. 21, 2014 Server-side 네트워크 프로그램 제작용 프레임웍인 Node.js와 Mongo DB를 연동하는 법에 대해 알아보도록 하겠습니다. 설명방식은 Node.js의 설치하는 것으로부터 시작되는 철저히 따라하기 예제 방식이며, 가장 기초적인 부분을 다루도록 하겠습니다. 따라서, 이미 어느 정도 Node.js에 대해 익숙한 분들은 초반부분을 스킵하고 연동하는 부분만 집중하시기 바합니다. Node.js를 통해 Mongo DB의 서버와 연결(connect)하고 Mongo DB의 스키마(schema)와 모델(또는 컬렉션)을 생성하는 방법을 알아보겠습니다. 또한 DB에 컬렉션을 추가하고 저장하는 방법에 대해 알아보도록 하겠습니다. 설명은 Mac OS X..