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" 이런식으로 해주면 된다.
나처럼 초보는 당연히 될줄알았던게 안되면 기겁한다.
댓글 없음:
댓글 쓰기