일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터 과학
- WebGL
- 인공지능
- Machine Learning
- node.js
- Big Data
- 확률
- Deep learning
- Artificial Intelligence
- 김양재
- 통계
- R
- No SQL
- nodeJS
- 빅데이터
- Statistics
- MongoDB
- 김양재 목사님
- 우리들교회
- probability
- c++
- 딥러닝
- 빅 데이타
- 주일설교
- openCV
- 빅데이타
- 몽고디비
- data science
- 김양재 목사
- 빅 데이터
- Today
- Total
목록데이터베이스 (32)
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임베드 된 도큐먼트에 대한 쿼리 방법은 크게 두 가지로 요약할 수 있다: (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 | 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"upsert"는 "update"의 특별한 형태 (명령어는 아니며 DB의 컨셉)이다. "update" 기준에 일치하는 도큐먼트가 없을 경우 그 기준을 포함하는 도큐먼트로 업데이트한다. 만약 일치하는 도큐먼트가 있을 경우 정상적으로 업데이트 된다. "upsert"는 컬렉션의 구조를 정하고 시작할 필요가 없기 때문에 편리하게 사용할 수 있다.우선 다음과 같이 명령어를 입력해 보자. db.math.remove() db.math.update({"count" : 25}, {"$inc" : {"count" : 3}}, true) 첫번째 라인을 통해 math 컬렉션을 삭제(컬렉션이 존재할 경우 "true"를 컬렉션이 존재하지 않을 경우 "false"를 반환한다)한 후, 두번째 라인에..
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 cinema4dIncrementing & DecrementingThe "$inc" modifier changes the value for an existing key which is type "number" or creates a new key of type "number" if not exist.Suppose we are managing the scores of students, for example: // define var student1 = {"name" : "gchoi", "score" : 90}; var student2 = {"name" : "jmpark", "score" : 40}; // insert db.student.insert(student1); db.student...
Written by cinema4dUpdate items using "$set" modifier : "$set" modifier adds item(s) if the relevant key exists or creates the key when absent. Type the following for data preparation: // drop the current database db.dropDatabase() // define webpage1 var user1 = {"username" : "gchoi", "age" : 37, "sex" : "male"} // insert items into DB db.users.insert(user1) db.users.find() Result: > db.users.fi..