• Java API 操作 Mongodb


    本次测试环境使用一台ip为 192.168.2.23 的虚拟机

    一、依赖

    <dependency>
    	<groupId>org.mongodb</groupId>
    	<artifactId>mongo-java-driver</artifactId>
    	<version>3.5.0</version>
    </dependency>
    

    二、编码

    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");
    
    		MongoCollection<Document> collection = database.getCollection("article");
    		System.out.println("创建集合成功!!"); // 注意,如果不插入数据,该库会自动被删除
    
    		// System.out.println("当前数据库中的所有集合是:");
    		// MongoIterable<String> 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<Document> 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<Document> list = new ArrayList<Document>();
    		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<Document> 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<Document> 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<Document> collection = database.getCollection("article");
    		// 遍历查询到的数据
    		collection.find().forEach(new Block<Document>() {
    
    			public void apply(Document doc) {
    				System.out.println(doc.toJson());
    			}
    
    		});
    	}
    }
    
    
  • 相关阅读:
    MyBatis初学者配置
    hibernate错题解析
    Hibernate二级缓存配置
    Open Session In View
    Hibernate延迟加载Lazy
    ThreadLocal
    HQL基础查询语句
    Hibernate中saveOrUpdate()和merge()的区别
    springmvc的类型转换
    springmvc的初始化参数绑定
  • 原文地址:https://www.cnblogs.com/moonlightL/p/7505606.html
Copyright © 2020-2023  润新知