List of usage examples for com.mongodb DBCollection findOne
@Nullable public DBObject findOne(final Object id)
From source file:teste.mongo.example.QuickTourAdmin.java
License:Apache License
public static void main(String[] args) throws Exception { // connect to the local database server MongoClient mongoClient = new MongoClient(); /*//from w w w .j a v a 2s .c om // Authenticate - optional MongoCredential credential = MongoCredential.createMongoCRCredential(userName, database, password); MongoClient mongoClient = new MongoClient(new ServerAddress(), Arrays.asList(credential)); */ System.out.println("##### DataBaseInitial"); // get db names for (String s : mongoClient.getDatabaseNames()) { System.out.println(s); } // get a db DB db = mongoClient.getDB("mydb"); System.out.println("##### With new DataBase MYDB"); // do an insert so that the db will really be created. Calling getDB() doesn't really take any // action with the server db.getCollection("testcollection").insert(new BasicDBObject("i", 1)); for (String s : mongoClient.getDatabaseNames()) { System.out.println(s); } // drop a database mongoClient.dropDatabase("mydb"); System.out.println("##### DataBase drop MYDB"); for (String s : mongoClient.getDatabaseNames()) { System.out.println(s); } // create a collection db = mongoClient.getDB("mydb"); db.createCollection("testCollection", new BasicDBObject("capped", true).append("size", 1048576)); System.out.println("##### ListAllCollection MYDB"); // List all collections for (String s : db.getCollectionNames()) { System.out.println(s); } // Dropping a collection DBCollection testCollection = db.getCollection("testCollection"); testCollection.drop(); System.out.println("##### ListAllCollection MYDB - Drop testCollection"); System.out.println(db.getCollectionNames()); /* Indexes */ // get a collection object to work with DBCollection coll = db.getCollection("testCollection"); // drop all the data in it coll.drop(); // create an index on the "i" field coll.createIndex(new BasicDBObject("i", 1)); // Geospatial query coll.createIndex(new BasicDBObject("loc", "2dsphere")); BasicDBList coordinates = new BasicDBList(); coordinates.put(0, -73.97); coordinates.put(1, 40.77); coll.insert(new BasicDBObject("name", "Central Park") .append("loc", new BasicDBObject("type", "Point").append("coordinates", coordinates)) .append("category", "Parks")); coordinates.put(0, -73.88); coordinates.put(1, 40.78); coll.insert(new BasicDBObject("name", "La Guardia Airport") .append("loc", new BasicDBObject("type", "Point").append("coordinates", coordinates)) .append("category", "Airport")); // Find whats within 500m of my location BasicDBList myLocation = new BasicDBList(); myLocation.put(0, -73.965); myLocation.put(1, 40.769); DBObject myDoc = coll.findOne(new BasicDBObject("loc", new BasicDBObject("$near", new BasicDBObject("$geometry", new BasicDBObject("type", "Point").append("coordinates", myLocation)) .append("$maxDistance", 500)))); System.out.println(myDoc.get("name")); // create a text index on the "content" field coll.createIndex(new BasicDBObject("content", "text")); coll.insert(new BasicDBObject("_id", 0).append("content", "textual content")); coll.insert(new BasicDBObject("_id", 1).append("content", "additional content")); coll.insert(new BasicDBObject("_id", 2).append("content", "irrelevant content")); // Find using the text index BasicDBObject search = new BasicDBObject("$search", "textual content -irrelevant"); BasicDBObject textSearch = new BasicDBObject("$text", search); int matchCount = coll.find(textSearch).count(); System.out.println("Text search matches: " + matchCount); // Find using the $language operator textSearch = new BasicDBObject("$text", search.append("$language", "english")); matchCount = coll.find(textSearch).count(); System.out.println("Text search matches (english): " + matchCount); // Find the highest scoring match BasicDBObject projection = new BasicDBObject("score", new BasicDBObject("$meta", "textScore")); myDoc = coll.findOne(textSearch, projection); System.out.println("Highest scoring document: " + myDoc); // list the indexes on the collection List<DBObject> list = coll.getIndexInfo(); for (final DBObject o : list) { System.out.println(o); } // clean up mongoClient.dropDatabase("mydb"); mongoClient.close(); }