List of usage examples for com.mongodb.client MongoCursor hasNext
@Override
boolean hasNext();
From source file:swm.project.findsimilarities.FindUserSimilarities.java
private void findDistancesForAge() { PrintWriter pw = null;/*from w w w . j a v a 2 s. co m*/ try { pw = new PrintWriter("datafiles//AgeSimilarities.csv"); } catch (FileNotFoundException ex) { Logger.getLogger(FindMovieSimilarities.class.getName()).log(Level.SEVERE, null, ex); } MongoCollection<Document> userAgeCollection = db.getCollection(Consts.USER_AGE); FindIterable<Document> userAgeAll = userAgeCollection.find(); MongoCursor userAgeCursorX = userAgeAll.iterator(); while (userAgeCursorX.hasNext()) { Document dX = (Document) userAgeCursorX.next(); int idX = (int) dX.get("_id"); int ageX = (Integer) dX.get(Consts.USER_AGE); MongoCursor userAgeCursorY = userAgeAll.iterator(); while (userAgeCursorY.hasNext()) { Document dY = (Document) userAgeCursorY.next(); int idY = (int) dY.get("_id"); int ageY = (Integer) dY.get(Consts.USER_AGE); double simAges = Operations.findSimilarAges(ageX, ageY); simAge[idX - 1][idY - 1] = simAges; //System.out.print(simAges+","); pw.print(simAges + ","); } // System.out.println(""); pw.println(); } pw.close(); }
From source file:swm.project.loadDataToDb.GetDataFromDb.java
/** * //from ww w. j a v a2 s . c o m * @return * returns : HashMap<Integer, HashMap<Integer, Integer>> * i.e. HashMap<userid, HashMap<movieId, rating>> */ public HashMap<Integer, HashMap<Integer, Integer>> getAllUserRatings() { MongoCollection<Document> collection; collection = db.getCollection(Consts.UDATA); HashMap<Integer, HashMap<Integer, Integer>> userRatings = new HashMap<>(); FindIterable<Document> userRatingData = collection.find(); MongoCursor<Document> userRatingCursor = userRatingData.iterator(); while (userRatingCursor.hasNext()) { Document ratingFields = userRatingCursor.next(); int userId = (int) ratingFields.get("userid"); int movieId = (int) ratingFields.get("itemid"); int rating = (int) ratingFields.get("rating"); if (userRatings.containsKey(userId)) { HashMap<Integer, Integer> itemRatings = userRatings.get(userId); itemRatings.put(movieId, rating); } else { HashMap<Integer, Integer> itemRatings = new HashMap<Integer, Integer>(); itemRatings.put(movieId, rating); userRatings.put(userId, itemRatings); } } return userRatings; }
From source file:swm.project.loadDataToDb.GetDataFromDb.java
public List<String> getMovieDetails(List<Integer> movieID) { MongoCollection<Document> movieNamesCollection = db.getCollection(Consts.MOVIE_NAME_DATA); //FindIterable<Document> movieNamesAll = movieNamesCollection.find(); //MongoCursor movieNamesCursorX = movieNamesAll.iterator(); ArrayList<String> names = new ArrayList<>(); BasicDBObject whereQuery = new BasicDBObject(); for (int i = 0; i < movieID.size(); i++) { whereQuery.put("_id", movieID.get(i)); FindIterable<Document> iterate = movieNamesCollection.find(whereQuery); MongoCursor cursor = iterate.iterator(); while (cursor.hasNext()) { Document ratingFields = (Document) cursor.next(); String movieName = (String) ratingFields.get(Consts.MOVIE_NAME_FIELD); //System.out.println(movieName); names.add(movieName);/*from w ww .j a v a 2 s . co m*/ } } return names; }
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 ww . j a va2 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.TweetsSimilarity.java
/** * @param args the command line arguments *///from www .j ava 2 s .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:uniandes.edu.twitterreader.TwitterApp.java
public void getMongoFunctionResults(String functionStringWithParameters) { Document doc2 = mongoDB.runCommand(new Document("$eval", functionStringWithParameters)); String collectionResults = doc2.getString("retval"); mongoResults.clear();//from w w w . j ava 2s. co m MongoCursor cursor = mongoDB.getCollection(collectionResults).find().iterator(); while (cursor.hasNext()) { String resultString = cursor.next().toString(); // obtener propiedades del resultado String hashtag = getValueFromMongoResult(resultString, "hashtag", false), user = getValueFromMongoResult(resultString, "user", false), date = getValueFromMongoResult(resultString, "date", false), sentiment = getValueFromMongoResult(resultString, "sentiment", false); float tweets = Float.parseFloat(getValueFromMongoResult(resultString, "totalTweets", true)), retweets = Float.parseFloat(getValueFromMongoResult(resultString, "totalReTweet", true)), followers = Float.parseFloat(getValueFromMongoResult(resultString, "totalFollowers", true)); mongoResults.add(new MongoDataRecord(hashtag, user, date, sentiment, tweets, retweets, followers)); System.out.println(hashtag + "|" + user + "|" + date + "|" + sentiment + "|" + tweets + "|" + retweets + "|" + followers); } }
From source file:wetree.Wetree.java
private static void mongoTest(WebEntityPageTree wept) { // Creating a mongo cursor MongoConnector connector = new MongoConnector(); MongoCursor<Document> cursor = connector.getPagesCursor(); int i = 0;// ww w. j av a2 s .com ArrayList<PLink> plinks = new ArrayList<>(); while (cursor.hasNext()) { Document doc = cursor.next(); String lru = doc.getString("lru"); // First we need to add the page's lru wept.addPage(lru); // Second we need to add the page's lrulinks List<String> lrulinks = (List<String>) doc.get("lrulinks"); System.out.println((i++) + " (" + lrulinks.size() + ") " + lru); lrulinks.forEach((String lrulink) -> { plinks.add(new PLink(lru, lrulink)); }); } wept.addPlinks(plinks); }