참조 :  http://nosql.mypopescu.com/post/392418792/translate-sql-to-mongodb-mapreduce
저작자 표시 비영리
신고
Posted by jeonguk





http://dittmarconsulting.wordpress.com/2012/01/26/cloud-foundry-environment/
저작자 표시 비영리
신고
Posted by jeonguk


페이징 처리
일단은 이렇게 구현했는데
더 좋은 방법이 있는가 모르겠네..ㅋㅋ

일단 정리


Controller


@RequestMapping

public String getPostAllWithPages(@RequestParam(value = "pageNum", required = false, defaultValue = "0") int pageNum,

Model model) {

Page<Post> postList = postService.findPostAllwithPages(new PageRequest(pageNum, 10, new Sort("postCreateDate")));


Pager pager = new Pager(postList, 10);


pager.linkPage = "";


model.addAttribute("pager", pager.print());

model.addAttribute("postList", postList.getContent());

return "post/index.do";

}


Service

public Page<Post> findPostAllwithPages(Pageable pageRequest) {
Page<Post> postList = postRepository.findAll(pageRequest);
return postList;
}


Repository
@Repository
public interface PostRepository extends MongoRepository<Post, String> {

@Override
Page<Post> findAll(Pageable pageable);

저작자 표시 비영리
신고
Posted by jeonguk


mongoTemplate를 사용해서 

Post post = new Post();
post.setId();
....
...


 mongoTemplate.insert(post,"Post");

collection name을 예를 들어 대문자를 포함해서 컬렉션 네임을 Post 로 생성할 경우

spring mvc , mongoRepository에서 findBy.. 로 값을 못가져 온다.

컬렉션 명을 소문자로 (post) 만드니 제대로 가져온다.

써놓고 보니 뭔소리인지 모르겟네.ㅋㅋ

post 컬렉션에 userEmail이라는 컬럼?? 이 있고

mongoRepository 인터페이스 를 extends 한 PostRepository 에서 

List<Post> findByUserEmail(userEmail);  로 값으 가져올때 값을 가져오지 못한다. (에러도 안나고)

컬렉션 네임을 소문자로 생성하자.


 

 
 
저작자 표시 비영리
신고
Posted by jeonguk

Cheat MongoDB

Database/MongoDB 2012.02.17 12:37 |


CONSOLE COMMANDS

help show all the console commands (same as this section) show dbs show database names show collections show collections in current database show users show users in current database show profile show most recent system.profile entries with time >= 1ms use <db name> set curent database to <db name> db.help() help on DB methods db.foo.help() help on collection methods db.foo.find() list objects in collection foo db.foo.find({a:1}) list objects in foo where a == 1 it result of last line evaluated; use to further iterate

DATABASE METHODS

db.addUser(username, password) db.auth(username, password) db.cloneDatabase(fromhost) db.commandHelp(name) // returns the help for the command db.copyDatabase(fromdb, todb, fromhost) db.createCollection(name, { size : ..., capped : ..., max : ... } ) db.currentOp() // displays the current operation in the db db.dropDatabase() db.eval(func, args) // run code server-side db.getCollection(cname) // same as db['cname'] or db.cname db.getCollectionNames() db.getLastError() // just returns the err msg string db.getLastErrorObj() // return full status object db.getMongo() // get the server connection object db.getMongo().setSlaveOk() // allow this connection to read from the nonmaster member of a replica pair db.getName() db.getPrevError() db.getProfilingLevel() db.getReplicationInfo() db.getSisterDB(name) // get the db at the same server as this onew db.killOp() // kills the current operation in the db db.printCollectionStats() db.printReplicationInfo() db.printSlaveReplicationInfo() db.printShardingStatus() db.removeUser(username) db.repairDatabase() db.resetError() db.runCommand(cmdObj) // run a database command. if cmdObj is a string, turns it into {cmdObj:1} db.setProfilingLevel(level) // 0=off 1=slow 2=all db.shutdownServer() db.version() // current version of the server

COLLECTION METHODS

db.foo.count() db.foo.dataSize() db.foo.distinct( key ) // eg. db.foo.distinct( 'x' ) db.foo.drop() // drop the collection db.foo.dropIndex(name) db.foo.dropIndexes() db.foo.ensureIndex(keypattern,options) // options should be an object with these possible fields: name, unique, dropDups db.foo.find( [query] , [fields]) // first parameter is an optional query filter. // second parameter is optional set of fields to return. // e.g. db.foo.find( { x : 77 } , { name : 1 , x : 1 } ) db.foo.find(...).count() db.foo.find(...).limit(n) db.foo.find(...).skip(n) db.foo.find(...).sort(...) db.foo.findOne([query]) db.foo.getDB() // get DB object associated with collection db.foo.getIndexes() db.foo.group( { key : ..., initial: ..., reduce : ...[, cond: ...] } ) db.foo.mapReduce( mapFunction , reduceFunction , <optional params> ) db.foo.remove(query) db.foo.renameCollection( newName ) // renames the collection db.foo.save(obj) db.foo.stats() db.foo.storageSize() // includes free space allocated to this collection db.foo.totalIndexSize() // size in bytes of all the indexes db.foo.totalSize() // storage allocated for all data and indexes db.foo.update(query, object[, upsert_bool, multi_record_bool]) db.foo.validate() // SLOW db.foo.getShardVersion() // only for use with sharding

UTILITIES

mongodump -d database_name -o /some/directory mongorestore -d database_name /some/directory

EXAMPLES

Inserting Data > j = { name: "mongo"}; {"name" : "mongo"} > t = { x : 3 }; { "x" : 3 } > db.things.save(j); > db.things.save(t); Accessing Data from a Query var cursor = db.things.find(); while (cursor.hasNext()) { print(tojson(cursor.next())); } Retrieving Data with Javascript functions db.things.find().forEach( function(x) { printjson(x);}); select * from things where name="mongo" db.things.find({name:"mongo"}).forEach(printjson); select * from things where x=4 db.things.find({x:4}).forEach(printjson); select j from things where x=4 db.things.find({x:4}, {j:true}).forEach(printjson); order by db.things.find().sort(x:1) // ascending db.things.find().sort(x:-1) // descending limit 1 var mongo = db.things.findOne({name:"mongo"}); print(tojson(mongo)); limit(x) db.things.find().limit(3); update users set api_token = 'snafu' where _id = "fubar"; db.users.update( { "_id" : "fubar" }, { $set : { "api_token" : "snafu" } }, false ); update or insert users set api_token = 'snafu' where _id = "fubar"; db.users.update( { "_id" : "fubar" }, { $set : { "api_token" : "snafu" } }, true ); Rename all fields in a collection db.users.update( {}, { $rename : {"old_field_name" : "new_field_name"}}, false, true);

MORE HELP

In addition to the general "help" command in mongo, you can call help on db and db.whatever to see a summary of methods available. MongoDB Manual: http://www.mongodb.org/display/DOCS/Manual

저작자 표시 비영리
신고
Posted by jeonguk

dbshell Reference

Database/MongoDB 2012.02.17 12:34 |


2012:02:17 12:31:34

2012:02:17 12:31:52


2012:02:17 12:32:12


2012:02:17 12:32:27


2012:02:17 12:32:45


2012:02:17 12:33:06




http://www.mongodb.org/display/DOCS/dbshell+Reference 

저작자 표시 비영리
신고
Posted by jeonguk

hadoop 설치 테스트 해봐야지

http://oxcode.posterous.com/setting-up-hadoop-on-mac-os-x-106
저작자 표시 비영리
신고

'Database > Hadoop' 카테고리의 다른 글

SETTING UP HADOOP ON MAC OS X 10.6  (0) 2012.02.15
hadoop reference  (0) 2012.02.15
하둡 커뮤니티 사이트  (0) 2012.02.15
Posted by jeonguk

hadoop reference

Database/Hadoop 2012.02.15 16:58 |


http://www.ibm.com/developerworks/kr/library/l-hadoop-1/
저작자 표시 비영리
신고

'Database > Hadoop' 카테고리의 다른 글

SETTING UP HADOOP ON MAC OS X 10.6  (0) 2012.02.15
hadoop reference  (0) 2012.02.15
하둡 커뮤니티 사이트  (0) 2012.02.15
Posted by jeonguk

http://www.hadoop.or.kr/
저작자 표시 비영리
신고

'Database > Hadoop' 카테고리의 다른 글

SETTING UP HADOOP ON MAC OS X 10.6  (0) 2012.02.15
hadoop reference  (0) 2012.02.15
하둡 커뮤니티 사이트  (0) 2012.02.15
Posted by jeonguk

윈도우에서 spring + mongodb 설치해서 테스트 하다가

붓캠으로 윈도우 접속하고 하는게 귀찮아서

Mac OSX에 설치해서 테스트 하려고 하는데 뭐가 이리 해야하는게 많은지..

어휴..


공식 사이트에서 맥오에스에 mongodb 설치 테스트 하는 법을 따라 하다 보니

http://www.mongodb.org/display/DOCS/Quickstart+OS+X



brew가 없단다...

그래서 homebrew 설치 하러 고고

http://ascarter.net/2010/02/22/homebrew-for-os-x.html


하다 보니 또 git가 없단다

그래서 git 설치 하러 고고


http://code.google.com/p/git-osx-installer/downloads/list?can=3

패키지로 다운 받아서 설치


다시 brew update

이렇게 해서 brew까지 설치 하고

처음으로 돌아가서

mongodb설치 하자...ㅋㅋㅋ


알아서 64bit 바이너리 파일로 설치 해주네




맥포트로 설치하는 방법도 있다.

http://www.macports.org/install.php 맥포트 설치(스노레파드)



 
저작자 표시 비영리
신고

'Database > MongoDB' 카테고리의 다른 글

Cheat MongoDB  (0) 2012.02.17
dbshell Reference  (0) 2012.02.17
Mac OSX - mongodb 맥북프로에 설치  (0) 2012.02.05
windows CMD 창에서 mongoDB UTF8 collection 한글 데이터 확인  (0) 2012.02.04
Spring + mongoDB  (1) 2012.01.30
Java : Authentication access to MongoDB  (0) 2012.01.30
Posted by jeonguk