java连接mongodb数据库
最近毕设需要用到这个数据库。然而又不会,没办法,只能上网学习学习。
记录一下java连接mongodb数据库的简单方法。这里只是记录一下学习。熟悉一下CURD方法。
但是毕业用到的是SpringBoot来整合mongodb数据库。似乎用SpringBoot来操作mongodb更简单。
如果是SpringBoot。创建项目的时候选择mongodb即可。
java练习,jar包下载地址如下:https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongo-java-driver/3.4.1/
在学习中。看到说3.0和3.0以下,有些方法被弃用了。哎,头疼。不多说了。到时候用的时候百度吧。
面试加油!!!!!
java操作代码如下:
package demo; import java.util.ArrayList;
import java.util.List; import org.bson.Document; import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions;
import com.mongodb.ServerAddress;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import com.mongodb.client.model.UpdateOptions;
import com.mongodb.client.result.UpdateResult; public class Demo { public static void main(String[] args) {
MongoClientOptions option=MongoClientOptions.builder().connectTimeout(60000).build(); MongoClient monGoClient=new MongoClient(new ServerAddress("127.0.0.1",27017),option);
//获取操作数据库
MongoDatabase db=monGoClient.getDatabase("chaoba");
//获取集合。后面的操作,大部分都是基于集合操作
MongoCollection<Document> contections=db.getCollection("chaoba1");
//插入
contections.insertOne(new Document("name","test123").append("sex", "男")); //批量插入
List<Document> documents=new ArrayList<>();
documents.add(new Document("name","text111").append("sex", "女"));
documents.add(new Document("name","chaoba4565").append("sex", "男"));
contections.insertMany(documents);
// 更新一个
UpdateResult update1=contections.updateOne(Filters.eq("name", "test123"), new Document("$set",new Document("name","暮雪超霸")));
//批量更新
UpdateResult update=contections.updateMany(Filters.eq("name", "test123"), new Document("$set",new Document("name","暮雪超霸")));
//UpdateResult这个里面包含AcknowledgedUpdateResult{matchedCount=1, modifiedCount=1, upsertedId=null}
//matchedCount不知道什么意思,看着好像是修改的个数。。modifiedCount这个也是 //更新,如果key不存在。则新插入一个文档
contections.updateOne(Filters.eq("name","mumu"), new Document("$set",new Document("age", 20)),new UpdateOptions().upsert(true)); System.out.println(update);
//查询所有一
FindIterable<Document> result=contections.find();
for (Document document : result) {
System.out.println(document);
}
//通过自带的迭代方法查询全部数据
MongoCursor result1= contections.find().iterator();
while(result1.hasNext()) {
System.out.println(result1.next());
} //查询单个
Document result3=contections.find().first();
System.out.println(result3); //根据条件查询
MongoCursor result4=contections.find().filter(Filters.eq("name","mumu")).iterator();
while(result4.hasNext()) {
System.out.println(result4.next());
}
//多条件查询
MongoCursor result5= contections.find().filter(Filters.and(Filters.eq("name","mumu"),Filters.eq("age",20))).iterator();
while(result5.hasNext()) {
System.out.println(result5.next());
} //删除
contections.deleteOne(Filters.eq("chaoba",1)); } }
java连接mongodb数据库的更多相关文章
- Java 连接MongoDB
1.驱动 通过java连接MongoDB需要一个java版的驱动 下载地址:http://mongodb.github.io/mongo-java-driver/ 2.连接MongoDB 通过 com ...
- 使用mongo-java-driver-3.0.2连接MongoDB数据库
这里使用的mongodb的java驱动版本是:3.0.2,文件名mongo-java-driver-3.0.2.jar 博客本地下载下载网址(也可以下载其它版本):http://central.ma ...
- MongoDB第三天(正则,管道,聚合,字符串,算术,日期,java连接MongoDB)
部分正则表达式: i:忽略大小写 m:多行查找 x:设置 x 选项后,正则表达式中的非转义的空白字符将被忽略. s:允许点字符(即.)匹配包括换行符在内的所有字符. w:匹配包括下划线的任何单词字 ...
- java连接mysql数据库详细步骤解析
java连接mysql数据库详细步骤解析 第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar 第二步:导入下载的J ...
- Java连接SqlServer2008数据库(转)
Java连接SqlServer2008数据库 首先下载JDBC:下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=21599 下 ...
- Java连接MySQL数据库及简单操作代码
1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...
- NodeJS连接MongoDB数据库时报错
今天第一次尝试连接MongoDB数据库,具体步骤也很简单. 首先,通过NodeJS运行环境安装MongoDB包,进入要安装的目录,执行语句 npm install mongodb 安装成功后,通过如下 ...
- 转载:Java连接MySQL 数据库的正确操作流程
转载网址:http://www.bitscn.com/pdb/mysql/201005/186551.html 以下的文章主要介绍的是Java连接MySQL 数据库(以MySQL数据库为例 ...
- nodejs:注册登录session出错以及连接Mongodb数据库时Error connecting to database解决方案
(1)nodejs:注册登录session出错 解决办法: 在app.js 中将var MongoStore = require(connect-mongo')改为var MongoStore = ...
随机推荐
- web 应用、 框架 及HTTP协议
web 应用 一.web 应用程序是什么 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件 应用程序有两种模式C/ ...
- Docker实战 | 第二篇:IDEA集成Docker插件实现一键自动打包部署微服务项目,一劳永逸的技术手段值得一试
一. 前言 大家在自己玩微服务项目的时候,动辄十几个服务,每次修改逐一部署繁琐不说也会浪费越来越多时间,所以本篇整理通过一次性配置实现一键部署微服务,实现真正所谓的一劳永逸. 二. 配置服务器 1. ...
- moviepy音视频剪辑:使用fl_time进行时间特效处理报错OSError: Error in file xxxx, Accessing time
☞ ░ 前往老猿Python博文目录 ░ 老猿在使用moviepy音视频剪辑的fl_time进行时间特效处理时,系统报错: OSError: Error in file F:\video\WinBas ...
- PyQt(Python+Qt)学习随笔:QTabWidget选项卡部件设置tabsClosable后不能关闭选项卡的原因
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTabWidget的tabsClosable属性用于控制选项卡栏的每个选项卡是否显示关闭按钮,但显 ...
- HTTP响应报文应答状态码及含义
本应答报文状态码是老猿结合多方资料收集综合后并加以老猿自己的理解进行说明的应答报文状态码,应该是最新最全解释最详尽的,供大家参考:
- 第13.3节 图形界面开发tkinter
一. 引言 老猿最开始是准备就tkinter单独开一个章节,但学了一段时间tkinter,最后放弃了,前一阵子还准备干脆不介绍相关的内容.主要原因有三个,一是tkinter没有界面设计的工具,所有界面 ...
- 关于我 About Me
重庆某大学计算机专业大三学渣 CTF酱油选手 web安全菜鸡 SRC低危小子 精通多门语言 hello world 输出 和 windows linux单词拼写 扣扣:MjU4NTYxNDQ2NA== ...
- Syclover 第十次极客大挑战web题题解
这次有空的时候报名参加了一下三叶草的招新比赛,比赛时间是一个月,题目都挺基础挺好玩的,在这里记一下自己的题解同时把自己没有做的题目也跟着writeup做一遍 第一题:cl4y:打比赛前先撸一只猫!: ...
- 使用 swagger 加注解 有的方法显示 有的不显示
在使用swagger 的时候 ,加完注解 运行后发现,有很多加了注解的没有显示,debug 也有返回数据 ,最终发现,有一个方法中有个参数 是Boolean 类型, 但是这个 参数 我没有添加 ...
- 【eJOI2020】考试(dp & 树状数组优化)
Description \(n\) 个正整数排成一列,每个位置 \(i\) 有一个初始值 \(A_i\) 以及目标值 \(B_i\). 一次操作可以选定一个区间 \([l, r]\),并将区间内所有数 ...