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 ...
随机推荐
- Graphviz(转载)
简述 原文: http://www.tuicool.com/articles/vy2Ajyu 本文翻译自 Drawing Graphs using Dot and Graphviz 1. 许可 Cop ...
- CUDA JPEG编码
基于英伟达的jpegNPP工程,分离实现独立的JPEG压缩. 由于原工程是直接把解码时的jpeg图片的信息直接作为编码时的信息,所以在做独立的JPEG编码时,需要自己来填充各种信息. 1.JPEG编码 ...
- nyi63——树
#include<bits/stdc++.h> using namespace std; int cnt; struct node { int data; int flag; node * ...
- VMware虚拟机创建安装之后不出现VMnet1和VMnet8虚拟网卡
大家可能遇到过安装虚拟机之后,不出现这两张虚拟网卡,造成一系列的网络问题 VMware虚拟机无法将网络改为桥接状态 本人亲试可行的解决办法 首先把你之前安装的VMware虚拟机卸载,清理得一干二净: ...
- jq中的$.post中方法
jQuery.post( url, [data], [callback], [type] ) : 使用POST方式来进行异步请求 参数: url (String) : 发送请求的URL地址. data ...
- 【51nod-1010】因子只含有2 3 5的数
K的因子中只包含2 3 5.满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15. 所有这样的K组成了一个序列S,现在给出一个数n,求S中 >= 给定数的最小的数. 例如:n = ...
- SCRF的简介及防护手段
CSRF全拼为Cross Site Request Forgery,译为跨站请求伪造. CSRF指攻击者盗用了你的身份,以你的名义发送恶意请求. 包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购 ...
- 2017北京赛区H题
题目链接 题意:在n*m的矩阵中选择变换或者不变换一个数变成p,使得最大子矩阵和最小 1<=n,m<=150, -1000<=p<=1000; 题解: 他人题解链接 涉及到知识 ...
- kali linux下不能以root权限运行vlc的解决办法
习惯了在Linux下面使用VLC播放视频和音乐, 但是 VLC 的 linux 版本并不支持在root下面运行. 终端运行vlc命令报错,错误信息如下 root@kbdancer:~# vlc VLC ...
- XML 测验
测试地址http://www.w3school.com.cn/quiz/quiz.asp?quiz=xml 1.XML指的是? 您的回答:eXtensible Markup Language 2.XM ...