- package com.iminido.nosql;
- import com.iminido.ssdb.HMap;
- import com.mongodb.BasicDBObject;
- import com.mongodb.DB;
- import com.mongodb.DBCollection;
- import com.mongodb.DBObject;
- import com.mongodb.MapReduceCommand;
- import com.mongodb.MapReduceOutput;
- import com.mongodb.WriteConcern;
- import java.net.UnknownHostException;
- /**
- *
- * @author JadeLuo
- */
- public class NoSqlDb extends Mdb {
- static DB db = null;
- public static void main(String[] args) {
- // NoSqlDb.insert("collectionName", "{\"_id\":\"id1\",\"key\":\"value\"}");
- // NoSqlDb.save("collectionName", HMap.init().add("_id", "550cd6d7f21296bf9dc51bb9").add("key", "222"));
- // NoSqlDb.save("collectionName", HMap.init().add("_id", "550cd6d7f21296bf9dc51bb9").add("key", "222"));
- System.out.print(NoSqlDb.query("collectionName"));
- NoSqlDb.remove("collectionName");
- System.out.print(NoSqlDb.query("collectionName"));
- // initCollection2("msg", "temp2").insert(new BasicDBObject().append("k", "vv"), WriteConcern.FSYNCED);
- // System.out.print( initCollection2("msg", "temp2").find().toArray());
- }
- public static void mapReduce() throws UnknownHostException{
- // Mongo mongo = new Mongo("localhost", 27017);
- // DB db = mongo.getDB("zhongsou_ad");
- /***
- * book1 = {name : "Understanding JAVA", pages : 100}
- * book2 = {name : "Understanding JSON", pages : 200}
- * db.books.save(book1)
- * db.books.save(book2)
- * book = {name : "Understanding XML", pages : 300}
- * db.books.save(book)
- * book = {name : "Understanding Web Services", pages : 400}
- * db.books.save(book)
- * book = {name : "Understanding Axis2", pages : 150}
- * db.books.save(book)
- *
- var map = function() {
- var category;
- if ( this.pages >= 250 )
- category = 'Big Books';
- else
- category = "Small Books";
- emit(category, {name: this.name});
- };
- var reduce = function(key, values) {
- var sum = 0;
- values.forEach(function(doc) {
- sum += 1;
- });
- return {books: sum};
- };
- var count = db.books.mapReduce(map, reduce, {out: "book_results"});
- */
- try {
- DBCollection books = db.getCollection("books");
- BasicDBObject book = new BasicDBObject();
- book.put("name", "Understanding JAVA");
- book.put("pages", 100);
- books.insert(book);
- book = new BasicDBObject();
- book.put("name", "Understanding JSON");
- book.put("pages", 200);
- books.insert(book);
- book = new BasicDBObject();
- book.put("name", "Understanding XML");
- book.put("pages", 300);
- books.insert(book);
- book = new BasicDBObject();
- book.put("name", "Understanding Web Services");
- book.put("pages", 400);
- books.insert(book);
- book = new BasicDBObject();
- book.put("name", "Understanding Axis2");
- book.put("pages", 150);
- books.insert(book);
- String map = "function() { "+
- "var category; " +
- "if ( this.pages >= 250 ) "+
- "category = 'Big Books'; " +
- "else " +
- "category = 'Small Books'; "+
- "emit(category, {name: this.name});}";
- String reduce = "function(key, values) { " +
- "var sum = 0; " +
- "values.forEach(function(doc) { " +
- "sum += 1; "+
- "}); " +
- "return {books: sum};} ";
- MapReduceCommand cmd = new MapReduceCommand(books, map, reduce,
- null, MapReduceCommand.OutputType.INLINE, null);
- MapReduceOutput out = books.mapReduce(cmd);
- for (DBObject o : out.results()) {
- System.out.println(o.toString());
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- //public class NoSqlDb extends Squ{
- // public DBCollection getDBCollection(String db, String collect) {
- // String host = Const.MONGODB_HOST;// 主机名
- // int port = Const.MONGODB_PORT;// 端口
- // MongoClient mg = null;
- // try {
- // mg = new MongoClient(host, port);
- // } catch (UnknownHostException ex) {
- // Logger.getLogger(NoSqlDb.class.getName()).log(Level.SEVERE, null, ex);
- // }
- // DBCollection clg = mg.getDB(db).getCollection(collect);
- // return clg;
- // }
- }