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());
			}
		});
	}
}
Java API 操作 Mongodb的更多相关文章
- MongoDB Java API操作很全的整理
		MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,一般生产上建议以共享分片的形式来部署. 但是MongoDB官方也提供了其它语言的客户端操作API.如下图所示: 提供了C.C++ ... 
- Java开发--操作MongoDB
		http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html介绍到了在MongoDB的控制台完成MongoDB的数据操作,通过前一篇文章我们 ... 
- hive-通过Java API操作
		通过Java API操作hive,算是测试hive第三种对外接口 测试hive 服务启动 package org.admln.hive; import java.sql.SQLException; i ... 
- hadoop2-HBase的Java API操作
		Hbase提供了丰富的Java API,以及线程池操作,下面我用线程池来展示一下使用Java API操作Hbase. 项目结构如下: 我使用的Hbase的版本是 hbase-0.98.9-hadoop ... 
- 使用Java API操作HDFS文件系统
		使用Junit封装HFDS import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.*; import org ... 
- Kafka系列三 java API操作
		使用java API操作kafka 1.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs ... 
- Hadoop之HDFS(三)HDFS的JAVA API操作
		HDFS的JAVA API操作 HDFS 在生产应用中主要是客户端的开发,其核心步骤是从 HDFS 提供的 api中构造一个 HDFS 的访问客户端对象,然后通过该客户端对象操作(增删改查)HDFS ... 
- MongoDB学习-->命令行增删改查&JAVA驱动操作Mongodb
		MongoDB 是一个基于分布式文件存储的数据库. 由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关 ... 
- zookeeper的java api操作
		zookeeper的java api操作 创建会话: Zookeeper(String connectString,int sessionTimeout,Watcher watcher) Zookee ... 
随机推荐
- 关系型数据库事务遵循ACID原则
			事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性: 1.A (Atomicity) 原子性 原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功 ... 
- python入门-简单的文件备份程序
			由于备份的需要,需要经常备份一些重要的文件,但是又不能逐个比较,所以就度了一下,找到了这篇博文,在此表示感谢,下面是python3版的写法,其中有一些改变,重要的改变之处作出了简要注释,完整注释请参考 ... 
- vue请求本地json数据
			1.下载vue-resource插件 cnpm install vue-resource 1.2全局引入vue-resource: 在main.js import VueResource from ' ... 
- L163
			Chickens slaughtered in the United States, claim officials in Brussels, are not fit to grace Europea ... 
- java集合运算:求交集,并集,集合差
			今天突然想用Java实现如何用集合实现交集,并集和差集的运算了!主要是看Python语言的时候想起来的. 实现主要使用的Set集合,Set集合的特点是集合内的元素不可重复. 具体代码如何: packa ... 
- zookeeper的c API 单线程与多线程问题 cli_st和cli_mt
			同样的程序,在centos和ubuntu上都没有问题,在solaris上问题却多多,据说是solaris管理更加严格. zookeeper_init方法,在传入一个错误的host也能初始化出一个非空的 ... 
- 【跟着stackoverflow学Pandas】Renaming columns in pandas-列的重命名
			最近做一个系列博客,跟着stackoverflow学Pandas. 以 pandas作为关键词,在stackoverflow中进行搜索,随后安照 votes 数目进行排序: https://stack ... 
- Skynet服务器框架(九) snax框架
			什么是 snax 由于 skynet 的 API 还是比较偏底层,为简化服务的编写提供一套简单的 API ,便有了这套 snax 框架,解决的问题: "编写一个 skynet 内部服务,处理 ... 
- HDU2037 今年暑假不AC
			解题思路:贪心问题,关键突破口是,先将节目的结束时间 从小到大排个序,然后依次判断后面一个节目的开始时间 是否大于或等于前一个符合条件的节目的结束时间.见代码: #include<cstdio& ... 
- my_itoa
			#include <iostream> using namespace std; char *my_reverse(char* s) { char *p,*q; p=s;q=s; whil ... 
