본문 바로가기

IT/Database

[mongodb] db 복제 1.복제 해 와서 붙여넣을 mongodb에 접속한다. 2. 다음 명령을 실행한다. db.copyDatabase(fromdb, todb, fromhost, username, password)Copies a database from a remote host to the current host or copies a database to another database within the current host. db.copyDatabase() wraps the copydb command and takes the following arguments: Parameter Type Description fromdb string The name of the source database. todb string The na.. 더보기
[mongodb] Replica Set A서버 1234 port에서 돌고있는 mongod가 있는 상태에서 5678 port mongod를 같이 돌리려고 한다. master : Aslave : B 1. A서버와 B서버 동일하게 conf파일을 복사하여 포트번호를 5678로 수정하고 replica 이름과 host도 설정해준다. (master의 host로 설정한다, name은 동일하게) 2. conf파일이 2개가 생겼으므로 mongod를 실행할 때 --config 옵션을 주어야 하는데 귀찮으므로 shell 파일을 따로 생성한다. ~~~1234.start~~~5678.start 3. 기존 db폴더의 이름을 db_1234로 바꾸고 mkdir db_5678하여 하나 더 생성해준다 (빈 디렉터리만 생성하면 된다) 4. A, B 서버에서 mongod를 실행하.. 더보기
[mongodb] $text Indexes 설정하기 $text Index는 mongodb 버전 2.4 이상부터 사용 가능하다. collection에 한 개만 사용 할 수 있다. db.collection.ensureIndex( { [컬럼명]:"text", [컬럼명2]:"text", ....[컬럼명n]:"text" }, { name: "[인덱싱이름]" } )위와 같이 인덱스를 생성해준다. 쿼리는 db.collection.find({ "$text" : { "$search" : "\"세월호 침몰\""}}) ----> like 검색db.collection.find({ "$text" : { "$search" : "세월호 침몰"}}) ----> or 검색 (세월호 or 침몰)db.collection.find({ "$text" : { "$search" : "세월호 -침.. 더보기
[mongodb] shell에서 find할 때 pretty() 기능 사용 (출력 이쁘게 나옴) 1. 수동 db.collection.find().pretty() 2. 자동 DBQuery.prototype._prettyShell = true to your file in $HOME/.mongorc.js to enable pretty print globally by default. 출처 : http://stackoverflow.com/questions/9146123/pretty-print-in-mongodb-shell-as-default 더보기
[mongodb] update , upsert mongodb update 2012/10/19 18:39 NoSQL/MongoDB 안녕하세요. 이스트럭(강동운) 입니다. 오늘은 mongodb update에 대해서 알아볼까 합니다. 일반적으로 아시는 update에는 조건과 변경값만 있는지 아십니다. idx가 1번인 값의 name을 eastluck으로 변경하라! 라고 본다면.. 아래 쿼리와 같을 수 있겠죠~! ?1db.test.update({"idx":1}, {$set: {"name":"eastluck"}}); 사실 update는 인자값이 두개가 아니라 원래는 총 4개가 있습니다. db.test.update({조건}, {변경값}, true|false, true| false) 1번인자: 조건 2번인자: 변경조건 3번인자: upsert (upsert란? 있으.. 더보기
[mongodb] Index 설정, 확인 인덱스 설정 : db.[table].ensureIndex({title_anal:1}, {name:"idx_DWDV_table_title_anal"}) 인덱스 확인 : db.[table].getIndexes() 더보기
ubuntu에서 mongodb와 php 연동 구글링해서 나오는 내용들을 아무리 해도 phpinfo에 mongo가 뜨지 않았다....ㅜㅜ 내 pc기준에서는 $ sudo apt-get install php5-mongo 이것을 설치하니까 됐다!!!!! 물론 /etc/php5/apache2/php.ini 에다가 extension=mongo.so 이것을 추가해주고 $ sudo /etc/init.d/apache2 restart 를 해주어야 한다. 아. 한참 뒤졌네.... phpinfo에 아래와 같은 내용이 추가된다. (mongodb의 기본 port는 27017이다. 암기하자) mongo MongoDB Supportenabled Version 1.4.5 SSL Support enabled Streams Support enabled DirectiveLocal V.. 더보기
mongoDB - java 코드에서 insert 명령 수행해보기 try { /* MongoDB connection and insert example : kkyunjjang */ Mongo m = new Mongo("localhost"); DB db = m.getDB("test"); Set colls = db.getCollectionNames(); for(String s:colls) // print collections name { System.out.println(s); } DBCollection coll = db.getCollection("users"); BasicDBObject doc = new BasicDBObject(); doc.put("name", "kim"); doc.put("age", 28); doc.put("status", "A"); doc.put("g.. 더보기
mongoDB query문 만들기 1. insert - mongoDB의 insert는 collection이 없을 시에는 자동으로 생성해준다. 그러므로 기존에 있는 collection에 값을 넣을 때 오타를 주의해야 할 것이다. 2. find (select) - Query Criteria에는 조건식이 들어간다. (SQL의 WHERE절) > db.scores.find({ score : { $gte : 50 , $lte : 60 } } ); - scores Colloection에서 score가 50이상, 60이하인 경우를 찾는다 > db.scores.find({$or: [{score: {$lt: 50}}, {score: {$gt: 90}}]}) - scores Collection에서 score가 50미만이거나 90초과인 경우를 찾는다 *** .. 더보기
몽고DB란 무엇인가? 몽고DB(MongoDB)는 크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템이다. NoSQL 데이터베이스로 분류되는 몽고DB는 JSON과 같은 동적 스키마형 문서들(몽고DB는 이러한 포맷을 BSON이라 부름)을 선호함에 따라 전통적인 테이블 기반 관계형 데이터베이스 구조의 사용을 삼간다. 이로써 특정한 종류의 애플리케이션을 더 쉽고 더 빠르게 데이터 통합을 가능케 한다. 아페로 GPL과 아파치 라이선스를 결합하여 공개된 몽고DB는 자유-오픈 소스 소프트웨어이다.http://ko.wikipedia.org/wiki/%EB%AA%BD%EA%B3%A0DB 특징- Document-Oriented Storage : 모든 데이터가 JSON 형태로 저장되며 schema가 없습니다. - Full Index Support .. 더보기