In Java MongoDB API, you can use collection.find() to get / query document from collection. Here is few common use cases :

1. Test Data

Insert number 1 to 10 for testing

for (int i=1; i <= 10; i++) {
	collection.insert(new BasicDBObject().append("number", i));
}

2. DBCollection.find() examples

See below code snippets to query documents.

Example 1

Get first document.

	DBObject doc = collection.findOne(); //get first document
	System.out.println(dbObject);

Output

	{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80bd"} , "number" : 1}
Example 2

Get a set of documents.

	DBCursor cursor = collection.find();
	while(cursor.hasNext()) {
	    System.out.println(cursor.next());
	}

Output

{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80bd"} , "number" : 1}
//...2 to 9, shorten for readability
{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80c6"} , "number" : 10}
Example 3

Get documents where number = 5.

	BasicDBObject query = new BasicDBObject();
	query.put("number", 5);
	DBCursor cursor = collection.find(query);
	while(cursor.hasNext()) {
	    System.out.println(cursor.next());
	}

Output

{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80c1"} , "number" : 5}
Example 4

Get documents where number = 9 and 10, use “$in” operator.

	BasicDBObject query = new BasicDBObject();
	List<Integer> list = new ArrayList<Integer>();
	list.add(9);
	list.add(10);
	query.put("number", new BasicDBObject("$in", list));
	DBCursor cursor = collection.find(query);
	while(cursor.hasNext()) {
		System.out.println(cursor.next());
	}

Output

{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80c5"} , "number" : 9}
{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80c6"} , "number" : 10}
Example 5

Get documents where number > 5, use “$gt” operator.

	BasicDBObject query = new BasicDBObject();
	query.put("number", new BasicDBObject("$gt", 5));
	DBCursor cursor = collection.find(query);
	while(cursor.hasNext()) {
		System.out.println(cursor.next());
	}

Output

{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80c2"} , "number" : 6}
{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80c3"} , "number" : 7}
{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80c4"} , "number" : 8}
{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80c5"} , "number" : 9}
{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80c6"} , "number" : 10}
Example 6

Get documents where 5 < number < 8, combine two operators, “$gt” and “$lt“.

	BasicDBObject query = new BasicDBObject();
	query.put("number", new BasicDBObject("$gt", 5).append("$lt", 8));
	DBCursor cursor = collection.find(query);
	while(cursor.hasNext()) {
		System.out.println(cursor.next());
	}

Output

{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80c2"} , "number" : 6}
{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80c3"} , "number" : 7}
Example 7

Get documents where number != 8, use “$ne” operator.

	BasicDBObject query5 = new BasicDBObject();
	query5.put("number", new BasicDBObject("$ne", 8));
	DBCursor cursor6 = collection.find(query5);
	while(cursor6.hasNext()) {
		System.out.println(cursor6.next());
	}

Output

{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80bd"} , "number" : 1}
{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80be"} , "number" : 2}
{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80bf"} , "number" : 3}
{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80c0"} , "number" : 4}
{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80c1"} , "number" : 5}
{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80c2"} , "number" : 6}
{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80c3"} , "number" : 7}
{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80c5"} , "number" : 9}
{ "_id" : { "$oid" : "4dc7f7b7bd0fb9a86c6c80c6"} , "number" : 10}
More More…
Read this MongoDB operator documentation for complete set of operators supported in MongoDB.

3. Full Example

Full example to combine above code snippets.

package com.mkyong.core;
 
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
 
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoException;
 
/**
 * Java MongoDB : Query document
 * 
 */
 
public class QueryDocumentApp {
	public static void main(String[] args) {
 
		try {
 
			Mongo mongo = new Mongo("localhost", 27017);
			DB db = mongo.getDB("yourdb");
 
			// get a single collection
			DBCollection collection = db.getCollection("dummyColl");
 
			// insert number 1 to 10 for testing
			for (int i = 1; i <= 10; i++) {
				collection.insert(new BasicDBObject().append("number", i));
			}
 
			// get first document
			DBObject dbObject = collection.findOne();
			System.out.println(dbObject);
 
			// get all available documents
			DBCursor cursor = collection.find();
			while (cursor.hasNext()) {
				System.out.println(cursor.next());
			}
 
			// get document, where number = 5
			BasicDBObject query = new BasicDBObject();
			query.put("number", 5);
			DBCursor cursor2 = collection.find(query);
			while (cursor2.hasNext()) {
				System.out.println(cursor2.next());
			}
 
			// get document, where number = 9 and number = 10
			BasicDBObject query2 = new BasicDBObject();
			List<Integer> list = new ArrayList<Integer>();
			list.add(9);
			list.add(10);
			query2.put("number", new BasicDBObject("$in", list));
			DBCursor cursor3 = collection.find(query2);
			while (cursor3.hasNext()) {
				System.out.println(cursor3.next());
			}
 
			// get document, where number > 5
			BasicDBObject query3 = new BasicDBObject();
			query3.put("number", new BasicDBObject("$gt", 5));
			DBCursor cursor4 = collection.find(query3);
			while (cursor4.hasNext()) {
				System.out.println(cursor4.next());
			}
 
			// get document, where 5 < number < 8
			BasicDBObject query4 = new BasicDBObject();
			query4.put("number", new BasicDBObject("$gt", 5).append("$lt", 8));
			DBCursor cursor5 = collection.find(query4);
			while (cursor5.hasNext()) {
				System.out.println(cursor5.next());
			}
 
			// get document, where number != 8
			BasicDBObject query5 = new BasicDBObject();
			query5.put("number", new BasicDBObject("$ne", 8));
			DBCursor cursor6 = collection.find(query5);
			while (cursor6.hasNext()) {
				System.out.println(cursor6.next());
			}
 
			// collection.remove(new BasicDBObject());
 
			System.out.println("Done");
 
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (MongoException e) {
			e.printStackTrace();
		}
 
	}
}

Done.

Note : You can find more similar articles at - Java MongoDB Tutorials