pom.xml添加:
<!-- mongo --> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.0.2</version> </dependency>
import java.util.ArrayList; import java.util.Date; import java.util.List; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.MongoIterable; import com.mongodb.client.model.Filters; import com.mongodb.client.model.Projections; import com.mongodb.client.model.Sorts; public class MongoDbWithJavaTest { public static void main(String[] args) { MongoClient mongo = null; try { // connect to mongodb mongo = new MongoClient("localhost", 27017); // list all databases listDatabases(mongo); // get database named "test" MongoDatabase testDatabase = mongo.getDatabase("test"); // list all collections(tables) listCollections(testDatabase); MongoCollection<Document> userCollection = testDatabase.getCollection("user"); // list all documents in user listAllDocuments(userCollection); // insert new document // insert(userCollection); // list all documents in user after insert // listAllDocuments(userCollection); // listAllSpecifiedDocumentFields(userCollection); // list document with given filter // listDocumentWithFilter(userCollection); // // listDocumentWithFilterAndInReverseOrder(userCollection); // update document // updateOneDocument(userCollection); updateAllDocument(userCollection); // // deleteOne(userCollection); // deleteMany(userCollection); // listAllDocuments(userCollection); } catch (Exception e) { e.printStackTrace(); } finally { if (mongo != null) { mongo.close(); mongo = null; } } } public static void deleteOne(MongoCollection<Document> collection) { System.out.println("delete one records age less than 24"); collection.deleteOne(Filters.lt("age", 24)); } public static void deleteMany(MongoCollection<Document> collection) { System.out.println("delete all records age less than 24"); collection.deleteMany(Filters.lt("age", 24)); } public static void updateOneDocument(MongoCollection<Document> collection) { System.out.println("updateDocument : update one records that named 'dreamoftch' to 'ZhangSan'"); collection.updateOne(Filters.eq("name", "dreamoftch"), new Document("$set", new Document("name", "ZhangSan"))); } public static void updateAllDocument(MongoCollection<Document> collection) { System.out.println("updateDocument : update all records that named 'dreamoftch' to 'ZhangSan'"); collection.updateMany(Filters.eq("name", "dreamoftch"), new Document("$set", new Document("name", "ZhangSan"))); } public static void listDatabases(MongoClient mongo) { // list all databases MongoIterable<String> allDatabases = mongo.listDatabaseNames(); for (String db : allDatabases) { System.out.println("Database name: " + db); } } public static void listCollections(MongoDatabase database) { // list all databases MongoIterable<String> allCollections = database.listCollectionNames(); for (String collection : allCollections) { System.out.println("Collection name: " + collection); } } public static void listAllDocuments(MongoCollection<Document> collection) { System.out.println("begin get all document >>>>>>"); for (Document document : collection.find()) { System.out.println(document); } System.out.println("finish get all document >>>>>>"); } public static void listAllSpecifiedDocumentFields(MongoCollection<Document> collection) { System.out.println("begin get all document(exclude '_id') >>>>>>"); for (Document document : collection.find().projection(Projections.exclude("_id"))) { System.out.println(document); } System.out.println("finish get all document(exclude '_id') >>>>>>"); } public static void insert(MongoCollection<Document> collection){ List<Document> documents = new ArrayList<Document>(); for (int i = 0; i < 10; i++) { documents.add(new Document("name", "dreamoftch").append("age", (20+i)).append("createdDate", new Date())); } collection.insertMany(documents); } public static void listDocumentWithFilter(MongoCollection<Document> collection) { System.out.println("begin get document(name: dreamoftch, age > 25) >>>>>>"); for (Document document : collection.find(Filters.and(Filters.eq("name", "dreamoftch"), Filters.gt("age", 25)))) { System.out.println(document); } System.out.println("finish get document(name: dreamoftch, age > 25) >>>>>>"); } public static void listDocumentWithFilterAndInReverseOrder(MongoCollection<Document> collection) { System.out.println("begin get document(name: dreamoftch, age > 25) >>>>>>"); for (Document document : collection.find(Filters.and(Filters.eq("name", "dreamoftch"), Filters.gt("age", 25))).sort(Sorts.descending("age"))) { System.out.println(document); } System.out.println("finish get document(name: dreamoftch, age > 25) >>>>>>"); } }