Example usage for com.mongodb MongoClient getDatabase

List of usage examples for com.mongodb MongoClient getDatabase

Introduction

In this page you can find the example usage for com.mongodb MongoClient getDatabase.

Prototype

public MongoDatabase getDatabase(final String databaseName) 

Source Link

Usage

From source file:week2.BlogController.java

License:Apache License

public BlogController(String mongoURIString) throws IOException {
    final MongoClient mongoClient = new MongoClient(new MongoClientURI(mongoURIString));
    final MongoDatabase blogDatabase = mongoClient.getDatabase("blog");

    userDAO = new UserDAO(blogDatabase);
    sessionDAO = new SessionDAO(blogDatabase);

    setPort(8082);/*from   ww  w  .ja va  2  s.c  o m*/
    initializeRoutes();
}

From source file:week2.MongoDBSparkFreemarkerStyle.java

License:Apache License

public static void main(String[] args) {
    final Configuration configuration = new Configuration();
    configuration.setClassForTemplateLoading(MongoDBSparkFreemarkerStyle.class, "/week2/freemarker");

    MongoClient client = new MongoClient();
    MongoDatabase database = client.getDatabase("m101");
    final MongoCollection<Document> collection = database.getCollection("funnynumbers");

    get("/", (request, response) -> {
        StringWriter writer = new StringWriter();
        try {/* w  w  w  .  j  a  v  a 2s  .  co  m*/
            Template template = configuration.getTemplate("answer.ftl");

            // Not necessary yet to understand this.  It's just to prove that you
            // are able to run a command on a mongod server
            List<Document> results = collection.aggregate(asList(
                    new Document("$group",
                            new Document("_id", "$value").append("count", new Document("$sum", 1))),
                    new Document("$match", new Document("count", new Document("$lte", 2))),
                    new Document("$sort", new Document("_id", 1)))).into(new ArrayList<>());

            int answer = 0;
            for (Document cur : results) {
                answer += (Double) cur.get("_id");
            }

            Map<String, String> answerMap = new HashMap<>();
            answerMap.put("answer", Integer.toString(answer));

            template.process(answerMap, writer);
        } catch (Exception e) {
            e.printStackTrace();
            halt(500);
        }
        return writer;
    });
}

From source file:yelpapp.HW3.java

public List<String> getBusinessDetails(ArrayList<String> Cat, String checkinfrom, String checkinto,
        String noofcheckin_cond, String noofcheckinvalue, Date reviewfrom, Date Reviewto, String Stars_cond,
        String Stars_value, String votes_cond, String votes_value, String searchForComboBox,
        Boolean isaddressselected, Double longitude, Double latitude, Boolean isproximityset,
        String proximity) {/*from  w ww .java 2  s .c om*/
    SearchResults SearchResults = new SearchResults();
    Connection dbconnection;
    dbconnection = YelpDBConnectionFactory.connectDatabase();

    MongoClient client;

    client = new MongoClient(new MongoClientURI("mongodb://localhost:27017"));

    // TODO Auto-generated method stub
    MongoCollection<Document> b_collection = client.getDatabase("YelpApplication")
            .getCollection("YelpBusiness");
    ArrayList<String> str = Cat;

    String option;
    if (searchForComboBox == "AND") {
        option = "$all";
    } else {
        option = "$in";
    }
    String query = "";

    FindIterable<Document> resultBussinessid = b_collection
            .find(new Document("categories", new Document(option, str)))
            .projection(fields(include("business_id"), excludeId()));
    MongoCursor<Document> iterator = resultBussinessid.iterator();
    final List<String> categoryBuissnessList = new ArrayList<String>();
    resultBussinessid.forEach(new Block<Document>() {
        @Override
        public void apply(final Document document) {
            // TODO Auto-generated method stub
            System.out.println("document" + document);

            //if (document != null)System.out.println(document.toJson().toString().trim());

            JSONParser parser = new JSONParser();
            JSONObject jsonObject;

            try {
                jsonObject = (JSONObject) parser.parse(document.toJson().toString().trim());
                String business_id = (String) jsonObject.get("business_id");
                categoryBuissnessList.add(business_id);
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            //Votes Parsing

        }
    });

    query = query + queryCategoryQuery(str);
    List<String> reviewBuissnessList = null;
    reviewBuissnessList = getReviewBusiness(reviewfrom, Reviewto, Stars_cond, Stars_value, votes_cond,
            votes_value);

    System.out.println("reviewBuissnessList" + reviewBuissnessList);

    List<String> proximityBuissnessList = null;
    if (isaddressselected && isproximityset) {
        System.out.println("proximity" + proximity);
        proximityBuissnessList = proximityQuery(longitude, latitude, Integer.parseInt(proximity));

        System.out.println("proximityBuissnessList" + proximityBuissnessList);
        query = query + proxqueryonly(longitude, latitude, Integer.parseInt(proximity));
    }
    List<String> CheckinBuissnessList = null;
    if (!noofcheckinvalue.equalsIgnoreCase("0")) {

        CheckinBuissnessList = getcheckinbusiness(categoryBuissnessList, Integer.parseInt(checkinfrom),
                Integer.parseInt(checkinto), Integer.parseInt(noofcheckinvalue));

    }
    System.out.println("categoryBuissnessList before merging" + categoryBuissnessList.size() + "    jfcjvkbkk  "
            + searchForComboBox);
    if (reviewBuissnessList != null)
        System.out.println("categoryBuissnessList before merging" + reviewBuissnessList.size());
    if (proximityBuissnessList != null)
        System.out.println("categoryBuissnessList before merging" + proximityBuissnessList.size());
    if (categoryBuissnessList != null)
        System.out.println("categoryBuissnessList before merging" + categoryBuissnessList);
    Set ptempimityBuissnessList = new HashSet<String>();
    if (searchForComboBox.equalsIgnoreCase("or")) {
        //do union
        System.out.println("in if ");
        //col.addAll(otherCol)// for union
        if (reviewBuissnessList != null && !votes_value.equalsIgnoreCase("0"))
            categoryBuissnessList.addAll(reviewBuissnessList);
        if (proximityBuissnessList != null)
            categoryBuissnessList.addAll(proximityBuissnessList);

    } else {
        //intersection
        System.out.println("in else ");

        //col.retainAll(otherCol) // for intersection
        if (reviewBuissnessList != null)
            categoryBuissnessList.retainAll(reviewBuissnessList);
        if (proximityBuissnessList != null)
            categoryBuissnessList.retainAll(proximityBuissnessList);

    }
    if (reviewBuissnessList != null)
        System.out.println("categoryBuissnessList before merging" + reviewBuissnessList.size());
    if (proximityBuissnessList != null)
        System.out.println("categoryBuissnessList before merging" + proximityBuissnessList.size());
    if (categoryBuissnessList != null)
        System.out.println("categoryBuissnessList before merging" + categoryBuissnessList.size());
    if (categoryBuissnessList != null)
        System.out.println("categoryBuissnessList" + categoryBuissnessList.size());
    System.out.println("categoryBuissnessList" + categoryBuissnessList);

    FindIterable<Document> result = b_collection
            .find(new Document("business_id", new Document(option, categoryBuissnessList)))
            .projection(fields(include("name", "city", "stars", "state"), excludeId())).limit(100);
    /*iterator = result.iterator();
    while(iterator.hasNext()){
      if(isdebug)System.out.println(iterator.next());
    }*/
    final List<String> businesses = new ArrayList<String>();
    result.forEach(new Block<Document>() {
        @Override
        public void apply(final Document document) {
            // TODO Auto-generated method stub
            businesses.add(document.toJson().toString().trim());
            System.out.println(document.toJson().toString().trim());
        }
    });

    /*
            
    if( subCat== null || (subCat != null &&subCat.size() == 0) )  {
               
       subCat = getSubcatogeries(Cat);
    }
       System.out.println("got subcat"+subCat);
               
               
     List userResults = new ArrayList();
     int count=0; 
     String query = "";
       try { 
               
       boolean firstwhereclause = true;//+ "      where ";
               
       String  checkinquery ="";
      if(!noofcheckinvalue.equalsIgnoreCase("0")) {
         checkinquery = " SELECT bid   FROM ( SELECT bus.B_BID    AS bid,   SUM(chek.C_COUNT ) AS checkcount   FROM Y_BUSINESS_TB bus JOIN Y_CHECKIN_TB chek  ON chek.C_B_ID =bus.B_BID     JOIN Y_BUS_SUB_CATEGORY subcat      ON bus.B_BID = subcat.B_ID"
            +" WHERE ";
                 
          String cin = formincondition(subCat);
          checkinquery =  checkinquery +" subcat.S_SUB_CAT_NAME  " +cin +"  and chek.C_INFO  between '" +checkinfrom+"' and '"+checkinto+"'  "
       + " group by bus.B_BID)  where checkcount " +noofcheckin_cond+" "+noofcheckinvalue;
                  
                  
      }
              
      String  reviewquery ="";
     if(reviewfrom != null && Reviewto != null && ( !Stars_value.equalsIgnoreCase("0") && !votes_value.equalsIgnoreCase("0")) ) {
         String rin = formincondition(subCat);
        reviewquery = " select bus.B_BID as  bid from Y_BUSINESS_TB bus  join  Y_REVIEWS_TB review on bus.B_BID = review.R_BUSS_ID "
            + "join Y_BUS_SUB_CATEGORY subcat on bus.B_BID = subcat.B_ID where subcat.S_SUB_CAT_NAME " +rin+ " ";
             
          DateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
            String date_string_reviewfrom = df.format(reviewfrom);  
            String date_string_reviewto = df.format(Reviewto);  
                    
        reviewquery = reviewquery+" and review.R_PUBLISH_DATE BETWEEN '"+date_string_reviewfrom+"' and '"+date_string_reviewto+"' ";
        if ( !votes_value.equalsIgnoreCase("0") ) {
            
           reviewquery = reviewquery+ " and review.R_VOTES " +votes_cond+ "  '" + votes_value+"' " ;
                   
        }
        if (  !Stars_value.equalsIgnoreCase("0")) {
                   
           reviewquery = reviewquery+ " and  review.r_stars "+ Stars_cond+" '"+Stars_value+"'      ";
        }
                 
                 
     }
     query = " "
           + ""
           + "select B_BID,B_NAME,B_CITY,B_STATE,B_STARS from Y_BUSINESS_TB ab where ab.B_BID in (";
     System.out.println("reviewquery "+reviewquery.equalsIgnoreCase("")+" reviewquery");
     System.out.println("checkinquery "+checkinquery.equalsIgnoreCase("")+" checkinquery.equalsIgnoreCase(");
             
             
      if (reviewquery.equalsIgnoreCase("") && checkinquery.equalsIgnoreCase("")) 
     {
                
         System.out.println("reviewquerasdasdy"+reviewquery+"reviewquery");
        String subcatonly = " select B_ID from Y_BUS_SUB_CATEGORY  where S_SUB_CAT_NAME ";
        String subcatin = formincondition(subCat);
        subcatonly =subcatonly+subcatin;
        query=query+subcatonly + " ) ";
     }
             
      else {      if (reviewquery.equalsIgnoreCase("")){
                
            query = query+checkinquery+ " ) ";
      }
      else if (checkinquery.equalsIgnoreCase("")){
                
            query = query+reviewquery+ " ) ";
      }
             
      else {
         query = query+checkinquery+ " INTERSECT "+reviewquery+ " ) ";
      }
               
      }
               
                
          System.out.println("query"+query);
                  
          }catch (Exception e){
                
            e.printStackTrace();
        }
      //   System.out.println(query);
      //   SearchResults.setIsusersearchResults(true);
      //   SearchResults.numberofrecords=count;
      //   SearchResults.setUserSearchresults(userResults);
      //   SearchResults.Query = query;
    */ return businesses;
}

From source file:yelpapp.HW3.java

private List<String> getcheckinbusiness(List businessids, Integer fromdate, Integer todate,
        Integer keyedin_count) {//from www. j av a 2s . com
    System.out.println("checkinSEARCH ");

    MongoClient client;
    String searchForComboBox = "and";
    System.out.println(businessids);
    DB db1 = new MongoClient("localhost", 27017).getDB("YelpApplication");
    DBCollection dbcollection = db1.getCollection("YelpCheckin");
    List<String> cbeckinBusinessList = null;
    client = new MongoClient(new MongoClientURI("mongodb://localhost:27017"));
    /*   System.out.println(asList(match(eq("name", "Tyler")), 
     lookup("YelpReview", "business_id", "business_id", "YelpBusinessReviews"), 
     unwind("$YelpBusinessReviews"),
             
     project(fields(computed("date", "$YelpBusinessReviews.date"), computed("stars", "$YelpBusinessReviews.stars"), computed("text", "$YelpBusinessReviews.text"), computed("userName", "name"), computed("usefulVotes", "votes.useful"),  excludeId())),
     unwind("$userName")));*/
    MongoCollection<Document> b_collection = client.getDatabase("YelpApplication").getCollection("YelpCheckin");
    /*   db.YelpUser.aggregate([
                          { 
                            $match: {
                                 $and: [ 
                                     { business_id: { $in: [ 5, 15 ] } }
                                     {date: {$gt: 3,$lt :5}}, 
                              {stars: {$gt: 3}}, 
                                     {$votes.useful: {$gt:2}},
                                       
                                       
                                 ]
                            }
                          }
                         ])*/

    FindIterable<Document> result = b_collection
            .find(new Document("business_id", new Document("$in", businessids)))
            .projection(fields(include("business_id", "checkin_info"), excludeId()));
    System.out.println("   asdas =" + result);
    MongoCursor<Document> iterator = result.iterator();

    final List<String> checkinJson = new ArrayList<String>();
    result.forEach(new Block<Document>() {
        @Override
        public void apply(final Document document) {
            // TODO Auto-generated method stub
            checkinJson.add(document.toJson().toString().trim());
            if (isdebug)
                System.out.println(document.toJson().toString().trim());
        }
    });
    System.out.println("" + checkinJson);

    //got jasonobjects
    try {
        Iterator<String> iterator2 = checkinJson.iterator();
        HashMap<String, Integer> cbeckincountmap = new HashMap<String, Integer>();
        while (iterator2.hasNext()) {
            JSONParser parser = new JSONParser();
            JSONObject jsonObject;

            jsonObject = (JSONObject) parser.parse(iterator2.next());

            //Votes Parsing
            String business_id = (String) jsonObject.get("business_id");

            JSONObject checkininfo = (JSONObject) jsonObject.get("checkin_info");
            String[][] checkin = new String[24][7];
            String[][] checkinT = new String[7][24];
            int checkincount = 0;
            String c_info = null;
            for (int i = 0; i < 24; i++) {
                for (int j = 0; j < 7; j++) {
                    checkin[i][j] = getcheckininfo(checkininfo, i + "-" + j);
                    c_info = getcheckininfo(checkininfo, i + "-" + j);

                    if (c_info != null) {

                        String dayhour = (i >= 10) ? "" + j + i : j + "0" + i;
                        Integer dayhourInt = Integer.parseInt(dayhour);
                        Integer c_infoInt = Integer.parseInt(c_info);
                        /* p_statement.setNString(2, dayhour);
                         p_statement.setNString(3, c_info);//count
                        */

                        if (dayhourInt > fromdate && dayhourInt < todate) {
                            Integer ccount = cbeckincountmap.get(business_id);
                            if (ccount != null) {
                                Integer existing_value = cbeckincountmap.get(business_id);
                                cbeckincountmap.put(business_id, existing_value + c_infoInt);

                            } else {

                                cbeckincountmap.put(business_id, c_infoInt);

                            }
                        }

                        checkincount++;

                        //make changes  to checkin to hold day and then hours
                        // also store the count.

                        //System.out.println(" i = "+i +"J = "+j + "Value "+c_info);
                    }

                    //System.out.println("checkin [][]= "+i+" "+j+" "+checkin[i][j]);
                }
            }
            //System.out.println("checkin [][]= "+checkin);

            // checkinT = ParseJson.transpose(checkin);

            //            
            //              count++;
            //              System.out.println(count+"\n");
        }

        System.out.println("cbeckincountmap" + cbeckincountmap);
        cbeckincountmap.keySet();
        cbeckinBusinessList = new ArrayList<String>();
        Integer count;
        for (String string : cbeckincountmap.keySet()) {
            count = cbeckincountmap.get(string);
            if (count > keyedin_count) {
                cbeckinBusinessList.add(string);
            }
        }

    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    System.out.println("Done executing checkin");
    return cbeckinBusinessList;
}

From source file:yelp_mongo.Dbconnection.java

public Connection getconnection() {

    Logger mongoLogger = Logger.getLogger("org.mongodb.driver");
    mongoLogger.setLevel(Level.SEVERE);
    // To connect to mongodb server
    MongoClient mongoClient = new MongoClient("localhost", 27017);

    // Now connect to your databases
    MongoDatabase db = mongoClient.getDatabase("mydb");
    System.out.println("Connect to database successfully");
    //boolean auth = db.authenticate("","");
    //System.out.println("Authentication: "+auth);
    MongoCollection<Document> coll = db.getCollection("yelp");

    System.out.println("Collection yelp selected successfully");

    /*FindIterable<Document> cursor = coll.find();
                 /*from w  ww  .j ava  2 s. co  m*/
         cursor.forEach(new Block<Document>() {
         @Override
         public void apply(final Document document) {
             System.out.println(document);
         }
     });*/
    BasicDBObject clause1 = new BasicDBObject("yelping_since", "2012-02");
    //clause1.put("yelping_since", "2012-02");

    BasicDBObject clause2 = new BasicDBObject("review_count", new BasicDBObject("$gt", 500));
    BasicDBObject clause3 = new BasicDBObject("fans", new BasicDBObject("$gt", 15));
    BasicDBObject clause4 = new BasicDBObject("average_stars", new BasicDBObject("$gt", 3));
    //BasicDBObject cl5 = new BasicDBObject("$exist",true);
    //BasicDBObject cl6 = new BasicDBObject("$where","this.friends.length>49");
    //String cl = cl5.toString();
    //BasicDBObject c = new BasicDBObject(cl,cl6);
    //BasicDBObject f = new BasicDBObject("friends",new BasicDBObject("$exist",true));
    BasicDBObject clause5 = new BasicDBObject("friends.50", new BasicDBObject("$exists", true));
    //BasicDBObject cl5 = new BasicDBObject("$where","this.friends.length>3");

    /*BasicDBList fl = new BasicDBList();
    fl.add(f);
    fl.add(cl6);*/

    //clause2.put("review_count",gtquery);
    BasicDBList or = new BasicDBList();

    or.add(clause1);
    or.add(clause2);
    or.add(clause3);
    or.add(clause4);
    or.add(clause5);
    //or.add(fl);

    //fields.put("name",1);
    //fields.put("average_stars",1);
    //fields.put("fans",1);
    BasicDBObject query = new BasicDBObject("$and", or);

    FindIterable<Document> cursor = coll.find(query);
    System.out.println(query);
    cursor.forEach(new Block<Document>() {
        @Override
        public void apply(final Document document) {
            System.out.println(document.get("user_id"));
            System.out.println(document.get("name"));
            System.out.println(document.get("fans"));
            System.out.println(document.get("average_stars"));
            System.out.println(document.get("friends"));

        }
    });

    mongoClient.close();
    System.out.println("Connection successfully closed");

    return null;

}