List of usage examples for com.mongodb MongoClient getDatabase
public MongoDatabase getDatabase(final String databaseName)
From source file:Tests.PrintFristElementOfCollection.java
public static void main(String[] args) throws UnknownHostException { MongoClient mongoClient = new MongoClient(new ServerAddress(), Arrays.asList(MongoCredential.createCredential("admin", "test", "password".toCharArray()))); try {//from w w w .j a v a 2 s.c o m for (String databaseName : mongoClient.listDatabaseNames()) { System.out.println("Database: " + databaseName); } MongoDatabase db = mongoClient.getDatabase("test"); MongoCollection coll = db.getCollection("test"); System.out.println(coll.find().first()); } finally { mongoClient.close(); } }
From source file:thermostatapplication.TemperaturePersisterTimerTask.java
public synchronized void persistDataOnMongolab() { //disable console logging //Logger mongoLogger = Logger.getLogger("org.mongodb.driver"); //mongoLogger.setLevel(Level.SEVERE); iStoredTemperatures = iTemperatureStore.getTemperatures(); if (iStoredTemperatures.isEmpty()) { logger.info("Nothing to persist. Exiting"); return;//from w w w.j a v a 2 s . c o m } logger.info("Prepairing to persist [{}] Temps in the cloud", iStoredTemperatures.size()); MongoCollection<Document> mongoCollection = null; MongoClient client = null; List<Document> documents = new ArrayList<>(); for (TemperatureMeasure tTemp : iStoredTemperatures) { //Exception in thread "Timer-2" java.util.ConcurrentModificationException Document doc = new Document(); doc.put("Location", tTemp.getLocation()); //Location doc.put("Group", tTemp.getGroup()); //Group doc.put("Date", Helper.getDateAsString(tTemp.getDate())); //Date doc.put("Day", Helper.getDayAsString(tTemp.getDate())); doc.put("Time", Helper.getTimeAsString(tTemp.getDate())); doc.put("Temp", Helper.getTempAsString(tTemp.getTemp())); //Temp documents.add(doc); iPersistedTemperatures.add(tTemp); } try { MongoClientURI uri = new MongoClientURI(ThermostatProperties.ML_URL); client = new MongoClient(uri); MongoDatabase database = (MongoDatabase) client.getDatabase(uri.getDatabase()); mongoCollection = database.getCollection("dailytemps"); mongoCollection.insertMany(documents); //eliminate stored Temps from the collection iTemperatureStore.removeAll(iPersistedTemperatures); client.close(); logger.info("Temperatures persisted on mongolab: [{}]. Exiting.", iPersistedTemperatures.size()); iPersistedTemperatures.clear(); } catch (Throwable e) { logger.error("Failed to store Temps in the cloud. Stacktrace: [{}]. Exiting.", e); iPersistedTemperatures.clear(); e.printStackTrace(); } finally { if (client != null) { client.close(); } iPersistedTemperatures.clear(); } }
From source file:tools.devnull.boteco.persistence.mongodb.MongoDatabaseFactory.java
License:Open Source License
/** * Creates a new MongoDatabase object using the given uri and database name. * * @param uri the mongo uri//from ww w. j a v a 2s . com * @param database the database to access * @return a new MongoDatabase */ public static MongoDatabase createDatabase(String uri, String database) { MongoClient client = new MongoClient(new MongoClientURI(uri)); return client.getDatabase(database); }
From source file:tour.Decimal128QuickTour.java
License:Apache License
/** * Run this main method to see the output of this quick example. * * @param args takes an optional single argument for the connection string */// ww w . ja v a 2 s. c o m public static void main(final String[] args) { MongoClient mongoClient; if (args.length == 0) { // connect to the local database server mongoClient = new MongoClient(); } else { mongoClient = new MongoClient(new MongoClientURI(args[0])); } // get handle to "mydb" database MongoDatabase database = mongoClient.getDatabase("mydb"); // get a handle to the "test" collection MongoCollection<Document> collection = database.getCollection("test"); // drop all the data in it collection.drop(); // make a document and insert it Document doc = new Document("name", "MongoDB").append("amount1", Decimal128.parse(".10")) .append("amount2", new Decimal128(42L)).append("amount3", new Decimal128(new BigDecimal(".200"))); collection.insertOne(doc); Document first = collection.find().filter(Filters.eq("amount1", new Decimal128(new BigDecimal(".10")))) .first(); Decimal128 amount3 = (Decimal128) first.get("amount3"); BigDecimal amount2AsBigDecimal = amount3.bigDecimalValue(); System.out.println(amount3.toString()); System.out.println(amount2AsBigDecimal.toString()); }
From source file:tour.NewQuickTour.java
License:Apache License
/** * Run this main method to see the output of this quick example. * * @param args takes an optional single argument for the connection string *//*from w ww.ja v a 2 s. c o m*/ public static void main(final String[] args) { MongoClient mongoClient; if (args.length == 0) { // connect to the local database server mongoClient = new MongoClient(); } else { mongoClient = new MongoClient(new MongoClientURI(args[0])); } // get handle to "mydb" database MongoDatabase database = mongoClient.getDatabase("mydb"); database.drop(); // get a list of the collections in this database and print them out List<String> collectionNames = database.listCollectionNames().into(new ArrayList<String>()); for (final String s : collectionNames) { System.out.println(s); } // get a handle to the "test" collection MongoCollection<Document> collection = database.getCollection("test"); // drop all the data in it collection.drop(); // make a document and insert it Document doc = new Document("name", "MongoDB").append("type", "database").append("count", 1).append("info", new Document("x", 203).append("y", 102)); collection.insertOne(doc); // get it (since it's the only one in there since we dropped the rest earlier on) Document myDoc = collection.find().first(); System.out.println(myDoc); // now, lets add lots of little documents to the collection so we can explore queries and cursors List<Document> documents = new ArrayList<Document>(); for (int i = 0; i < 100; i++) { documents.add(new Document("i", i)); } collection.insertMany(documents); System.out.println( "total # of documents after inserting 100 small ones (should be 101) " + collection.count()); // lets get all the documents in the collection and print them out MongoCursor<Document> cursor = collection.find().iterator(); try { while (cursor.hasNext()) { System.out.println(cursor.next()); } } finally { cursor.close(); } for (Document cur : collection.find()) { System.out.println(cur); } // now use a query to get 1 document out myDoc = collection.find(eq("i", 71)).first(); System.out.println(myDoc); // now use a range query to get a larger subset cursor = collection.find(gt("i", 50)).iterator(); try { while (cursor.hasNext()) { System.out.println(cursor.next()); } } finally { cursor.close(); } // range query with multiple constraints cursor = collection.find(and(gt("i", 50), lte("i", 100))).iterator(); try { while (cursor.hasNext()) { System.out.println(cursor.next()); } } finally { cursor.close(); } // max time collection.find().maxTime(1, TimeUnit.SECONDS).first(); collection.drop(); // ordered bulk writes List<WriteModel<Document>> writes = new ArrayList<WriteModel<Document>>(); writes.add(new InsertOneModel<Document>(new Document("_id", 4))); writes.add(new InsertOneModel<Document>(new Document("_id", 5))); writes.add(new InsertOneModel<Document>(new Document("_id", 6))); writes.add( new UpdateOneModel<Document>(new Document("_id", 1), new Document("$set", new Document("x", 2)))); writes.add(new DeleteOneModel<Document>(new Document("_id", 2))); writes.add(new ReplaceOneModel<Document>(new Document("_id", 3), new Document("_id", 3).append("x", 4))); collection.bulkWrite(writes); collection.drop(); collection.bulkWrite(writes, new BulkWriteOptions().ordered(false)); // getting a list of databases for (String name : mongoClient.listDatabaseNames()) { System.out.println(name); } // drop a database mongoClient.dropDatabase("databaseToBeDropped"); // create a collection database.createCollection("cappedCollection", new CreateCollectionOptions().capped(true).sizeInBytes(0x100000)); for (String name : database.listCollectionNames()) { System.out.println(name); } // create an ascending index on the "i" field collection.createIndex(new Document("i", 1)); // list the indexes on the collection for (final Document index : collection.listIndexes()) { System.out.println(index); } // create a text index on the "content" field collection.createIndex(new Document("content", "text")); collection.insertOne(new Document("_id", 0).append("content", "textual content")); collection.insertOne(new Document("_id", 1).append("content", "additional content")); collection.insertOne(new Document("_id", 2).append("content", "irrelevant content")); // Find using the text index Document search = new Document("$search", "textual content -irrelevant"); Document textSearch = new Document("$text", search); long matchCount = collection.count(textSearch); System.out.println("Text search matches: " + matchCount); // Find using the $language operator textSearch = new Document("$text", search.append("$language", "english")); matchCount = collection.count(textSearch); System.out.println("Text search matches (english): " + matchCount); // Find the highest scoring match Document projection = new Document("score", new Document("$meta", "textScore")); myDoc = collection.find(textSearch).projection(projection).first(); System.out.println("Highest scoring document: " + myDoc); // release resources mongoClient.close(); }
From source file:twitterapp.TweetsProcessing.java
/** * @param args the command line arguments *///from w w w .ja v a2s . c o m public static void main(String[] args) throws JSONException { //createSeparateEntities(); //create the collections with the separate entities that are extracted from the tweet collections //creating separate collections from the entities (hashtags collection, mentioned collection etc) String[] collections = { "separateEntities", "separateEntities2", "separateEntities3", "separateEntities4" }; for (int p = 0; p < collections.length; p++) { MongoClient mongo = new MongoClient("localhost", 27017); MongoDatabase database = mongo.getDatabase("myTweetdb"); int counterHashtag = 0; int counterMentioned = 0; int counterUrl = 0; int counterRetweeted = 0; Bson filter = Filters.exists("hashtag"); MongoCollection<Document> h = database.getCollection("hashtagAll"); Iterator<Document> h2 = database.getCollection(collections[p]).find(filter).iterator(); while ((h2.hasNext()) && (counterHashtag < 250)) { Document doc = h2.next(); h.insertOne(doc); counterHashtag++; } filter = Filters.exists("mentioned_users"); MongoCollection<Document> m = database.getCollection("mentionedAll"); h2 = database.getCollection(collections[p]).find(filter).iterator(); while ((h2.hasNext()) && (counterMentioned < 250)) { Document doc = h2.next(); m.insertOne(doc); counterMentioned++; } filter = Filters.exists("url"); MongoCollection<Document> u = database.getCollection("urlAll"); h2 = database.getCollection(collections[p]).find(filter).iterator(); while ((h2.hasNext()) && (counterUrl < 250)) { Document doc = h2.next(); u.insertOne(doc); counterUrl++; } filter = Filters.exists("retweeted_tweet"); MongoCollection<Document> r = database.getCollection("retweetedAll"); h2 = database.getCollection(collections[p]).find(filter).iterator(); while ((h2.hasNext()) && (counterRetweeted < 250)) { Document doc = h2.next(); r.insertOne(doc); counterRetweeted++; } } }
From source file:twitterapp.TweetsProcessing.java
public static void createSeparateEntities() throws JSONException { String[] collectionsTweets = { "myTweetCol", "myTweetCol2", "myTweetCol3", "myTweetCol4" }; String[] colEntities = { "separateEntities", "separateEntities2", "separateEntities3", "separateEntities4" }; for (int col = 0; col < collectionsTweets.length; col++) { MongoClient mongo = new MongoClient("localhost", 27017); MongoDatabase database = mongo.getDatabase("myTweetdb"); MongoCollection<Document> collection = database.getCollection(collectionsTweets[col]); Iterator<Document> kati = collection.find().iterator(); while (kati.hasNext()) { Document doc = kati.next(); String user, url, hashtag, mentioned, id, timestamp; user = url = hashtag = mentioned = id = timestamp = ""; JSONObject a = new JSONObject(doc); String temp = a.getString("user"); String tokens[] = temp.split(","); for (int j = 0; j < tokens.length; j++) { if (tokens[j].contains("screen_name")) { temp = tokens[j].replace("\"screen_name\":", ""); user = temp.replace("\"", ""); }//from ww w. ja v a 2 s .com } timestamp = String.valueOf(a.getLong("timestamp_ms")); JSONObject b = a.getJSONObject("entities"); tokens = b.toString().split(","); for (int j = 0; j < tokens.length; j++) { if (tokens[j].contains("text")) { String temp2 = tokens[j].replace("\"", ""); temp2 = temp2.replace(":", ""); temp2 = temp2.replace("}", ""); temp2 = temp2.replace("]", ""); temp2 = temp2.replace("text", ""); hashtag = hashtag.concat(temp2 + " ").trim(); } if (tokens[j].contains("expanded_url")) { String temp2 = tokens[j].replace("\":\"", ""); temp2 = temp2.replace("\"", ""); temp2 = temp2.replace("expanded_url", ""); url = url.concat(temp2 + " "); } if (tokens[j].contains("screen_name")) { String temp2 = tokens[j].replace(":", ""); temp2 = temp2.replace("\"", ""); temp2 = temp2.replace("screen_name", ""); mentioned = mentioned.concat(temp2 + " "); } } if (a.toString().contains("retweeted_status")) { b = (JSONObject) a.getJSONObject("retweeted_status"); id = b.getString("id_str"); } Document object = new Document("user", user).append("timestamp", timestamp).append("hashtag", hashtag); Document object1 = new Document("user", user).append("timestamp", timestamp).append("url", url); Document object2 = new Document("user", user).append("timestamp", timestamp) .append("mentioned_users", mentioned); Document object3 = new Document("user", user).append("timestamp", timestamp) .append("retweeted_tweet", id); MongoCollection<Document> collection2 = database.getCollection(colEntities[col]); collection2.insertOne(object); collection2.insertOne(object1); collection2.insertOne(object2); collection2.insertOne(object3); } } }
From source file:twitterapp.TweetsSimilarity.java
/** * @param args the command line arguments *//*from w w w .j a v a 2s . co m*/ public static void main(String[] args) throws JSONException, Exception { System.out.println(intersection("unpresidented", "unpresidented", "unpresidented")); System.out.println(union("unpresidented", "unpresidented", "unpresidented")); MongoClient mongo = new MongoClient("localhost", 27017); MongoDatabase database = mongo.getDatabase("myTweetdb"); Document temp; JSONObject b, c; Double sim[] = new Double[100]; // String one = a.getString("hashtag"); String two = ""; int j = 0; int k = 0; int y = 0; String[] collections = { "hashtagAll", "mentionedAll", "urlAll", "retweetedAll" }; String[] entities = { "hashtag", "mentioned_users", "url", "retweeted_tweet" }; Double[][] hashtag = new Double[1000][1000]; for (j = 0; j < hashtag.length; j++) { Arrays.fill(hashtag[j], 0.0); } j = 0; for (int p = 0; p < collections.length; p++) { String file = collections[p].concat(".csv"); System.out.println(file); PrintWriter writer = new PrintWriter(file); writer.println("Source,Target,Weight,Type"); MongoCursor<Document> manasou; MongoCollection collection2 = database.getCollection(collections[p]); manasou = collection2.find().iterator(); HashMap<String, Integer> count = new HashMap<>(); String common = ""; while (manasou.hasNext() && y < 1000) { b = new JSONObject(manasou.next()); String temp1 = b.getString(entities[p]); String tokens[] = temp1.split(" "); for (int i = 0; i < tokens.length; i++) { if (count.containsKey(tokens[i])) { Integer temp2 = count.get(tokens[i]); temp2++; count.replace(tokens[i], temp2); } else { count.put(tokens[i], 1); } } y++; } Iterator<Entry<String, Integer>> count_it = count.entrySet().iterator(); while (count_it.hasNext()) { Entry entry = count_it.next(); if ((Integer) entry.getValue() > 500) { common = common.concat(entry.getKey() + " "); } } System.out.println(common); manasou = collection2.find().iterator(); j = 0; while (manasou.hasNext() && j < 1000) { b = new JSONObject(manasou.next()); System.out.println(j); MongoCursor<Document> kati2 = collection2.find().iterator(); k = 0; while (kati2.hasNext() && k < 1000) { c = new JSONObject(kati2.next()); if (j < k) { String temp1 = b.getString(entities[p]); String temp2 = c.getString(entities[p]); double temp3 = intersection(temp1, temp2, common) / union(temp1, temp2, common); if (Double.isNaN(temp3)) { temp3 = 1; } String lel = "tweet" + j + "," + "tweet" + k + "," + temp3 + ",Undirected"; hashtag[j][k] = hashtag[j][k] + temp3; writer.flush(); if (temp3 > 0.2) { writer.println(lel); } } else { k++; continue; } k++; } j++; } } PrintWriter writer = new PrintWriter("all.csv"); writer.println("Source,Target,Weight,Type"); for (j = 0; j < hashtag.length; j++) { for (k = 0; k < hashtag.length; k++) { if (j < k) { double temp1 = hashtag[j][k] / 4.0; if (temp1 > 0.2) { String lel = "tweet" + j + "," + "tweet" + k + "," + temp1 + ",Undirected"; writer.flush(); writer.println(lel); } } } } }
From source file:twitterapp.TwitterApp.java
public static void streamTweets() throws TwitterException { /*getting the trends */ ConfigurationBuilder cb2 = new ConfigurationBuilder(); cb2.setDebugEnabled(true).setOAuthConsumerKey("S01GsVwuCAwZFp5BLg5C4k8PT") .setOAuthConsumerSecret("6jo0jo4b05Ec5ZJcf74v5yGUQu5v8DryUwypOBjPD6jaItRNzd") .setOAuthAccessToken("794259549297446912-Z3AWruBmLa7QmCO6BnybCSj1tZXNqbB") .setOAuthAccessTokenSecret("6ezMQPQVziW9yxyTITZA8Wc2RJWjcBKvbXZU4dOjo4bge"); TwitterFactory tf = new TwitterFactory(cb2.build()); Twitter twitter = tf.getInstance();// w w w.j av a2s . c om Trends trends = twitter.getPlaceTrends(23424977); String top_trend = ""; int top = 0; for (Trend trend : trends.getTrends()) { if (top < 1) { top_trend = trend.getName(); top++; } } System.out.println("top trend : " + top_trend); //Using the Streaming API to get real time tweets based on the trending topics as keywords /* configurating twiter4j */ ConfigurationBuilder cb = new ConfigurationBuilder(); cb.setDebugEnabled(true).setOAuthConsumerKey("S01GsVwuCAwZFp5BLg5C4k8PT") .setOAuthConsumerSecret("6jo0jo4b05Ec5ZJcf74v5yGUQu5v8DryUwypOBjPD6jaItRNzd") .setOAuthAccessToken("794259549297446912-Z3AWruBmLa7QmCO6BnybCSj1tZXNqbB") .setOAuthAccessTokenSecret("6ezMQPQVziW9yxyTITZA8Wc2RJWjcBKvbXZU4dOjo4bge") .setJSONStoreEnabled(true); /* end of configuration */ MongoClient mongo = new MongoClient("localhost", 27017); MongoDatabase database = mongo.getDatabase("myTweetdb2"); MongoCollection<Document> collection = database.getCollection("myTweetCol5"); TwitterStream twitterStream = new TwitterStreamFactory(cb.build()).getInstance(); StatusListener listener; listener = new StatusListener() { @Override public void onStatus(Status status) { String rawJSON = TwitterObjectFactory.getRawJSON(status); Document doc = Document.parse(rawJSON); collection.insertOne(doc); } @Override public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice) { System.out.println("Got a status deletion notice id:" + statusDeletionNotice.getStatusId()); } @Override public void onTrackLimitationNotice(int numberOfLimitedStatuses) { System.out.println("Got track limitation notice:" + numberOfLimitedStatuses); } @Override public void onScrubGeo(long userId, long upToStatusId) { System.out.println("Got scrub_geo event userId:" + userId + " upToStatusId:" + upToStatusId); } @Override public void onStallWarning(StallWarning warning) { System.out.println("Got stall warning:" + warning); } @Override public void onException(Exception ex) { ex.printStackTrace(); } }; // twitterStream.sample(); twitterStream.addListener(listener); FilterQuery fq = new FilterQuery(); String keywords[] = { top_trend }; fq.track(keywords); twitterStream.filter(fq); }
From source file:wasdev.sample.store.MongoDbVisitorStore.java
License:Apache License
public MongoDbVisitorStore() { MongoClient mongo = createClient(); if (mongo != null) { db = mongo.getDatabase(databaseName); if (db == null) { System.out.println("Could not find database with name \"" + databaseName + "\". A new database will be created."); }//from ww w .j a va2s . c o m } collection = db.getCollection(collectionName); }