本次测试环境使用一台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的更多相关文章

  1. MongoDB Java API操作很全的整理

    MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,一般生产上建议以共享分片的形式来部署. 但是MongoDB官方也提供了其它语言的客户端操作API.如下图所示: 提供了C.C++ ...

  2. Java开发--操作MongoDB

    http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html介绍到了在MongoDB的控制台完成MongoDB的数据操作,通过前一篇文章我们 ...

  3. hive-通过Java API操作

    通过Java API操作hive,算是测试hive第三种对外接口 测试hive 服务启动 package org.admln.hive; import java.sql.SQLException; i ...

  4. hadoop2-HBase的Java API操作

    Hbase提供了丰富的Java API,以及线程池操作,下面我用线程池来展示一下使用Java API操作Hbase. 项目结构如下: 我使用的Hbase的版本是 hbase-0.98.9-hadoop ...

  5. 使用Java API操作HDFS文件系统

    使用Junit封装HFDS import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.*; import org ...

  6. Kafka系列三 java API操作

    使用java API操作kafka 1.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs ...

  7. Hadoop之HDFS(三)HDFS的JAVA API操作

    HDFS的JAVA API操作 HDFS 在生产应用中主要是客户端的开发,其核心步骤是从 HDFS 提供的 api中构造一个 HDFS 的访问客户端对象,然后通过该客户端对象操作(增删改查)HDFS ...

  8. MongoDB学习-->命令行增删改查&JAVA驱动操作Mongodb

    MongoDB 是一个基于分布式文件存储的数据库. 由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关 ...

  9. zookeeper的java api操作

    zookeeper的java api操作 创建会话: Zookeeper(String connectString,int sessionTimeout,Watcher watcher) Zookee ...

随机推荐

  1. 2-2-sshd服务安装管理及配置文件理解和安全调优

    大纲: 1. 培养独自解决问题的能力 2. 学习第二阶段Linux服务管理的方法 3. 安装sshd服务 4. sshd服务的使用 5. sshd服务调优 6. 初步介绍sshd配置文件 ###### ...

  2. 11g手动打补丁

    在两个节点上,分别以oracle用户执行,停止资源  节点一: srvctl stop home -o /app/oracle/11g -s /home/oracle/s1 -n 11grac75 节 ...

  3. hdu 6097 Mindis(数学几何,圆心的反演点)

    Mindis Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  4. SQL HAVING用法详解

    来自:http://blog.csdn.net/wozeze1/article/details/6031318 HAVING 子句对 GROUP BY 子句设置条件的方式与 WHERE 和 SELEC ...

  5. 12.18 webSocket消息推送

    ---恢复内容开始--- 准备工作: 在要跳转到的页面加入js <#--弹窗--> <div class="modal fade" id="myModa ...

  6. NAT&Port Forwarding&Port Triggering

    NAT     Nat,网络地址转换协议.主要功能是实现局域网内的本地主机与外网通信.     在连接外网时,内部Ip地址需要转换为网关(一般为路由器Ip地址)(端口号也需要相应的转换)     如: ...

  7. 提高你的javascript代码逼格系列之函数与数组

    不知道大家有没有一种感觉,那就是自己写的javascript代码虽然能完全解决工作上的需要,但是,一眼望去,too simple!!!简直就是一个傻子都能看懂的水平,于是,在工作之余,我开始去收集一些 ...

  8. MPAndroidChart Wiki(译文)~Part 3

    13. 图例 默认情况下,所有的图表都支持图例并且会自动生成.给图表设置完数据之后,图例会被绘制出来.图例通常由多个条目组成,每个条目由标签形式/形状表示. 自动生成的图例包含的条目数取决于不同颜色的 ...

  9. 求序列完美度(trie+贪心)

    题目链接: 求序列完美度 题目描述 给出由n个数组成的序列s,规定第i个数s[i]到第j个数s[j]组成的子序列的完美度为该子序列中所有数的和与任意一个不在该子序列中的数进行异或运算得到的值中的最大值 ...

  10. discuz数据库迁移,改密码后,相关配置文件修改

    网上看到这篇文章,觉得有用就收藏下 网站系统需要修改的位置有两处 Discuz 和 UC-center ①路径:/wwwroot/config/config_global.php 这个根据你网站安装的 ...