1.pom.xml

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

2.Java代码

package cn.duanjt;

import java.util.Arrays;

import org.bson.Document;
import org.bson.conversions.Bson;
import org.junit.Before;
import org.junit.Test; import com.mongodb.Block;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.result.DeleteResult; //注意是静态导入
import static com.mongodb.client.model.Updates.*;
import static com.mongodb.client.model.Filters.*; public class MongoDB {
MongoClient client;// mongo连接实例
MongoDatabase dataBase;// 数据库
MongoCollection<Document> collection;// 集合,类似于关系型数据库的表 @Before
public void init() {
client = new MongoClient("192.168.23.24", 27022);
dataBase = client.getDatabase("duanjt");
collection = dataBase.getCollection("teacher");
} // 插入一条数据
@Test
public void insert() {
Document doc = new Document();
doc.append("name", "李四");
doc.append("addr", "重庆");
doc.append("likes", Arrays.asList("排球", "篮球"));// 数组
collection.insertOne(doc);// 插入数据时会自动创建数据库和集合
System.out.println("success");
} // 修改,把李四的爱好修改为 足球和羽毛球
@Test
public void update1() {
Bson eq = eq("name", "张三");
Bson set = set("likes", Arrays.asList("足球", "羽毛球"));
collection.updateMany(eq, set);
System.out.println("修改成功");
} // 修改,把李四的爱好新增 足球和羽毛球
@Test
public void update2() {
Bson eq = eq("name", "李四");
Bson set = pushEach("likes", Arrays.asList("足球", "羽毛球"));
collection.updateMany(eq, set);
System.out.println("修改成功");
} // 查询爱好足球的老师
@Test
public void find() {
Bson filter = in("likes", Arrays.asList("足球"));
FindIterable<Document> find = collection.find(filter);
find.forEach(new Block<Document>() {
@Override
public void apply(Document t) {
System.out.println(t.toJson());
}
});
} //删除数据
@Test
public void delete() {
Bson filter = eq("name", "duanjt");
DeleteResult deleteMany = collection.deleteMany(filter);
System.out.println("删除数据:" + deleteMany.getDeletedCount());
} // 删除集合
@Test
public void dropCol() {
collection.drop();
System.out.println("删除成功");
} }

稍微注意注释部分的代码即可

MongoDB 关系型数据库
数据库 数据库
集合
文档 一行数据

Java原生API访问MongoDB的更多相关文章

  1. MongoDB最简单的入门教程之五-通过Restful API访问MongoDB

    通过前面四篇的学习,我们已经在本地安装了一个MongoDB数据库,并且通过一个简单的Spring boot应用的单元测试,插入了几条记录到MongoDB中,并通过MongoDB Compass查看到了 ...

  2. Java原生API操作XML

    使用Java操作XML的开源框架比较多,如著名的Dom4J.JDOM等,但个人认为不管你用那个框架都要对JDK原生的API有所了解才能更得心应手的应用.本篇就来简单了解下原生的XML API. JAV ...

  3. 不使用spring的情况下用java原生代码操作mongodb数据库的两种方式

    由于更改了mongodb3.0数据库的密码,导致这几天storm组对数据进行处理的时候,一直在报mongodb数据库连接不上的异常.   主要原因实际上是和mongodb本身无关的,因为他们改的是配置 ...

  4. java 网络API访问 web 站点

    package cn.magicdu.think.socket; import java.io.BufferedReader; import java.io.InputStreamReader; im ...

  5. Structure Streaming和spark streaming原生API访问HDFS文件数据对比

    此文已由作者岳猛授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. Structure Stream访问方式 code examples import org.apache.sp ...

  6. Zookeeper(三)-- JAVA原生API

    一.前提 jar包:zookeeper-3.4.9.jar,slf4j-api-1.6.1.jar,slf4j-log4j12-1.6.1.jar,log4j-1.2.15.jar 二.Demo pa ...

  7. 使用java原生API模拟请求下载文件

    /** * * @param urlPath * 下载路径 * @param saveDir * 下载存放目录 * @return 返回下载文件 * @throws Exception */ publ ...

  8. JAVA API访问Hbase org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=32

    Java使用API访问Hbase报错: 我的hbase主节点是spark1   java代码访问hbase的时候写的是ip 结果运行程序报错 不能够识别主机名 修改主机名     修改主机hosts文 ...

  9. ZooKeeper实现配置中心的实例(原生API实现)(转)

    说明:要实现配置中心的例子,可以选择的SDK有很多,原生自带的SDK也是不错的选择.比如使用I0Itec,Spring Boot集成等. 大型应用通常会按业务拆分成一个个业务子系统,这些大大小小的子应 ...

随机推荐

  1. web 容器

    jboss简单使用(AS7): 将项目打成war包,放到jboss-as-web-7.0.0.Final\standalone\deployments下 访问 alias .name+port+war ...

  2. HTML 5 拖放 drag dragend dragover ....

    拖放(Drag 和 drop)是 HTML5 标准的组成部分. // http://www.w3school.com.cn/html5/html_5_draganddrop.asp dataTrans ...

  3. html form禁止表单回车自动提交(通常原因是为在ajax提交前、后进行js判断控制)

    @*onkeydown事件用于禁止回车自动提交form,这样就不经过js控制跳转*@ <form action="/Account/CheckPsw" method=&quo ...

  4. bug修复记录

    telnet 网址 ping netaddr traceroute netaddr ,这是一个linux下的命令可以通过Vmmap观察程序运行时所需要的依赖库协议里面涉及到数组的, 一定要判断最大值 ...

  5. 高性能Nginx服务器-反向代理

    Nginx Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,供 ...

  6. Flask项目示例目录

    Flask不同于Django,Django在创建程序时自动得到必要的目录文件,而Flask则只有一个空文件夹,所以关于Flask项目的目录我们需要自行配置. 首先利用pycharm创建一个项目,在根目 ...

  7. OCP-第三节课.md

    一. dataguard  stream  字节流技术: 二. 突然断电:触发实例恢复过程: 三. 宕机:赔钱 四. Redis.MQ(消息中间件.队列管理器.缓存)(内存数据库) 五. IBM MQ ...

  8. 把spring boot发布成window Service

    一:下载Winsw, 把下载后的文件名改为你的应用如doctor.exe 二:添加xml <service> <id>doctor-api-service</id> ...

  9. cherry-pick时的add by us / both modified / delete by us /delete by themk

    简单来说: us=into , them=from 比如你将test分支的某个提交cherry-pick到master分支上,那么us就是master分支,them 就是test分支 参考: http ...

  10. #WEB安全基础 : HTTP协议 | 0x3 TCP三次握手和DNS服务

    TCP三次握手精准无误地把数据送达目标处,TCP协议把数据包送出去后,向对方确认是否成功发送,握手过程中使用了TCP的标志(flag)——SYN和ACK 请看图 若握手中断,TCP协议再次从同样顺序发 ...