本次测试环境使用一台ip为 192.168.2.23 的虚拟机
一、依赖
org.mongodb mongo-java-driver 3.5.0
二、编码
import java.util.ArrayList;import java.util.Date;import java.util.List;import org.bson.Document;import org.junit.Test;import com.mongodb.Block;import com.mongodb.MongoClient;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoDatabase;import com.mongodb.client.model.Filters;public class MongodbTest { @Test public void testConnection() { // 建立连接 MongoClient mongoClient = new MongoClient("192.168.2.23", 27017); // 获取指定数据库 MongoDatabase database = mongoClient.getDatabase("test"); // 打印数据库名称 System.out.println(database.getName()); } @Test public void testCreateCollection() { // 建立连接 MongoClient mongoClient = new MongoClient("192.168.2.23", 27017); // 获取指定数据库 MongoDatabase database = mongoClient.getDatabase("test"); MongoCollectioncollection = database.getCollection("article"); System.out.println("创建集合成功!!"); // 注意,如果不插入数据,该库会自动被删除 // System.out.println("当前数据库中的所有集合是:"); // MongoIterable listCollectionNames = database // .listCollectionNames(); // for (String name : listCollectionNames) { // System.out.println(name); // } } @Test public void testInsert() { // 建立连接 MongoClient mongoClient = new MongoClient("192.168.2.23", 27017); // 获取指定数据库 MongoDatabase database = mongoClient.getDatabase("test"); // 获取指定集合 MongoCollection collection = database.getCollection("article"); // 创建文档 Document doc = new Document("_id", 1).append("title", "first article") .append("content", "hello world").append("author", "Jack") .append("createDate", new Date()); // 保存文档 collection.insertOne(doc); Document temp = null; List list = new ArrayList (); for (int i = 2; i < 6; i++) { temp = new Document("_id", i).append("title", "first article" + i) .append("content", "hello world" + i) .append("author", "Jack").append("createDate", new Date()); list.add(temp); } // 保存多个文档 collection.insertMany(list); } @Test public void testUpdate() { // 建立连接 MongoClient mongoClient = new MongoClient("192.168.2.23", 27017); // 获取指定数据库 MongoDatabase database = mongoClient.getDatabase("test"); // 获取指定集合 MongoCollection collection = database.getCollection("article"); // 更新指定文档 collection.updateOne(Filters.eq("_id", 1), new Document("$set",new Document("title", "article1"))); } @Test public void testDelete() { // 建立连接 MongoClient mongoClient = new MongoClient("192.168.2.23", 27017); // 获取指定数据库 MongoDatabase database = mongoClient.getDatabase("test"); // 获取指定集合 MongoCollection collection = database.getCollection("article"); // 删除id为5的文档 collection.deleteOne(Filters.eq("_id", 5)); } @Test public void testQuery() { // 建立连接 MongoClient mongoClient = new MongoClient("192.168.2.23", 27017); // 获取指定数据库 MongoDatabase database = mongoClient.getDatabase("test"); // 获取指定集合 MongoCollection collection = database.getCollection("article"); // 遍历查询到的数据 collection.find().forEach(new Block () { public void apply(Document doc) { System.out.println(doc.toJson()); } }); }}