List of usage examples for com.mongodb.client MongoCollection insertOne
void insertOne(TDocument document);
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 *//*w w w . j av a 2s .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:tour.PojoQuickTour.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 w w . ja v a 2 s . c om public static void main(final String[] args) { MongoClient mongoClient; if (args.length == 0) { // connect to the local database server mongoClient = MongoClients.create(); } else { mongoClient = MongoClients.create(args[0]); } // create codec registry for POJOs CodecRegistry pojoCodecRegistry = fromRegistries(MongoClientSettings.getDefaultCodecRegistry(), fromProviders(PojoCodecProvider.builder().automatic(true).build())); // get handle to "mydb" database MongoDatabase database = mongoClient.getDatabase("mydb").withCodecRegistry(pojoCodecRegistry); // get a handle to the "people" collection MongoCollection<Person> collection = database.getCollection("people", Person.class); // drop all the data in it collection.drop(); // make a document and insert it Person ada = new Person("Ada Byron", 20, new Address("St James Square", "London", "W1")); System.out.println("Original Person Model: " + ada); collection.insertOne(ada); // Person will now have an ObjectId System.out.println("Mutated Person Model: " + ada); // get it (since it's the only one in there since we dropped the rest earlier on) Person somebody = collection.find().first(); System.out.println(somebody); // now, lets add some more people so we can explore queries and cursors List<Person> people = asList( new Person("Charles Babbage", 45, new Address("5 Devonshire Street", "London", "W11")), new Person("Alan Turing", 28, new Address("Bletchley Hall", "Bletchley Park", "MK12")), new Person("Timothy Berners-Lee", 61, new Address("Colehill", "Wimborne", null))); collection.insertMany(people); System.out.println("total # of people " + collection.countDocuments()); System.out.println(""); // lets get all the documents in the collection and print them out Block<Person> printBlock = new Block<Person>() { @Override public void apply(final Person person) { System.out.println(person); } }; collection.find().forEach(printBlock); System.out.println(""); // now use a query to get 1 document out somebody = collection.find(eq("address.city", "Wimborne")).first(); System.out.println(somebody); System.out.println(""); // now lets find every over 30 collection.find(gt("age", 30)).forEach(printBlock); System.out.println(""); // Update One collection.updateOne(eq("name", "Ada Byron"), combine(set("age", 23), set("name", "Ada Lovelace"))); System.out.println(""); // Update Many UpdateResult updateResult = collection.updateMany(not(eq("zip", null)), set("zip", null)); System.out.println(updateResult.getModifiedCount()); System.out.println(""); // Replace One updateResult = collection.replaceOne(eq("name", "Ada Lovelace"), ada); System.out.println(updateResult.getModifiedCount()); // Delete One collection.deleteOne(eq("address.city", "Wimborne")); // Delete Many DeleteResult deleteResult = collection.deleteMany(eq("address.city", "London")); System.out.println(deleteResult.getDeletedCount()); // Clean up database.drop(); // release resources mongoClient.close(); }
From source file:twitterapp.TweetsProcessing.java
/** * @param args the command line arguments *//*from www . j a va 2 s .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 w w w.j a v a 2 s .co m } 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.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();/*from ww w . j a v a2 s. c o m*/ 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:uk.ac.ebi.eva.dbmigration.mongodb.ExtractAnnotationFromVariant.java
License:Apache License
@ChangeSet(order = "004", id = "updateAnnotationMetadata", author = "EVA") public void updateAnnotationMetadata(MongoDatabase mongoDatabase) { final MongoCollection<Document> annotationMetadataCollection = mongoDatabase .getCollection(databaseParameters.getDbCollectionsAnnotationMetadataName()); logger.info("4) update annotation metadata in collection {}", annotationMetadataCollection.getNamespace()); String id = databaseParameters.getVepVersion() + "_" + databaseParameters.getVepCacheVersion(); Document metadata = new Document(ID_FIELD, id); if (annotationMetadataCollection.count(metadata) == 0) { metadata.append(VEP_VERSION_FIELD, databaseParameters.getVepVersion()).append(CACHE_VERSION_FIELD, databaseParameters.getVepCacheVersion()); annotationMetadataCollection.insertOne(metadata); }//w w w . j ava2 s . c o m }