1. 사용자 관리자 계정을 만든다.
2. 데이터베이스 관리자 계정을 만든다
db.addUser({user:"useradmin",pwd:"test", roles:["userAdminAnyDatabase"]})
db.adduser는 더이상 사용되지 않는다.
db.createUser({user:"useradmin",pwd:"test", roles:["userAdminAnyDatabase"]})
를 사용한다.
몽고디비 재시작
sudo service mongod restart
2의 데이터 베이스 관리자 계정을 만든다
> db.createUser({user:"dbadmin", ... pwd:"test", ... roles:[ ... ... "readWriteAnyDatabase","dbAdminAnyDatabase","clusterAdmin"]}) Successfully added user: { "user" : "dbadmin", "roles" : [ "readWriteAnyDatabase", "dbAdminAnyDatabase", "clusterAdmin" ] }
===========================================================
200000개의 도큐먼트를 만들어보자 for(i=0; i<200000;i++){ db.numbers.save({num:i}); } 잠시 시간이 걸린다. db.numbers.count() 200000 몽고DB로 밀린 일기를 34년치를 써보는것도 좋을것같다 ^^ 12410개 밖에 안되네 for(i=0; i<12410; i++){ db.diary.save({num:i}); } 나때는 국민학교였으니까 국민학교 방학숙제 밀린일기에서 초입부분엔 항상 이렇게 시작한다 나는 오늘... 나는 오늘..
=====================================================
> db.numbers.find({num:{"$gt":199995}}).explain() { "queryPlanner" : { "plannerVersion" : 1, "namespace" : "tutorial.numbers", "indexFilterSet" : false, "parsedQuery" : { "num" : { "$gt" : 199995 } }, "winningPlan" : { "stage" : "COLLSCAN", "filter" : { "num" : { "$gt" : 199995 } }, "direction" : "forward" }, "rejectedPlans" : [ ] }, "serverInfo" : { "host" : "sharpscar-W65-67SF", "port" : 27017, "version" : "3.2.4", "gitVersion" : "e2ee9ffcf9f5a94fad76802e28cc978718bb7a30" }, "ok" : 1 }
explain() 함수를 사용한 결과 queryPlanner , winningPlan
================================================
> db.numbers.ensureIndex({num:1}) { "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }
num키에 대한 인덱스를 생성한다.
확인은
> db.numbers.getIndexes()
자세한 내용은 몽고디비인 액션을 참조하세요 저작권은 소중합니다 ^^
=================================================
sudo gem install mongo Building native extensions. This could take a while... Fetching: mongo-2.2.4.gem (100%) Successfully installed bson-4.0.4 Successfully installed mongo-2.2.4 2 gems installed Installing ri documentation for bson-4.0.4... Installing ri documentation for mongo-2.2.4... Installing RDoc documentation for bson-4.0.4... Installing RDoc documentation for mongo-2.2.4... =================================================
irb -r ./connect.rb /home/sharpscar/workspace/ruby/mongodbinaction/connect.rb:4:in `<top (required)>': uninitialized constant Mongo::Connection (NameError)
=_= ? @con = Mongo::Connection.new
이제 더이상 사용안하는 구문인가?;;
===================================================
자 이제 트위터 예제를 들어가자(두근두근)
sudo gem install twitter!!
Building native extensions. This could take a while... ERROR: Error installing twitter: ERROR: Failed to build gem native extension. /usr/bin/ruby1.9.1 extconf.rb checking for main() in -lstdc++... no creating Makefile make compiling unf.cc make: g++: 명령을 찾지 못했음 make: *** [unf.o] 오류 127 Gem files will remain installed in /var/lib/gems/1.9.1/gems/unf_ext-0.0.7.2 for inspection. Results logged to /var/lib/gems/1.9.1/gems/unf_ext-0.0.7.2/ext/unf_ext/gem_make.out
두둥 이게 무슨소리지 명령을 찾지 못했다고? 뭐를 왜
하면서 검색검색 뭐가문젠지를 모르겠어서 한참을 뒤지다가
g++ 이 설치 안된걸 발견했다 ;; 역시 메시지를 잘 살펴봐야되
왜 나만 안되는거야 가 아니고 왜 나만 못보는거야? 가 맞는거지 ㅋ
=====================================================
이건 루비와 관련된건데
같은 폴더 내의 .rb 파일을 require 했는데도
cannot load such file -- config (LoadError) 로드에러가뜰때엔
require "./config" 이런식으로 해주면 된다.
나처럼 초보는 당연히 될줄알았던게 안되면 기겁한다.
댓글 없음:
댓글 쓰기