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: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);
}