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 = ...
随机推荐
- 老猿学5G扫盲贴:中国移动网络侧CHF主要功能及计费处理的主要过程
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一. ...
- 在Python中使用moviepy进行视频剪辑时输出文件报错 ‘NoneType‘ object has no attribute ‘stdout‘问题
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 movipy输出文件时报错 'NoneType' ...
- 老猿学5G随笔:5G网元功能体NF以及NF之间的两种接口--服务化接口和参考点
一.5G功能体之间的接口类型 5G不同功能体之间提供了两种接口: 服务化接口:Service-basedinterface,这个是类似微服务化架构的服务注册和服务发现来实现的功能体对外暴露的接口,这种 ...
- 第11.5节 Python正则表达式搜索任意字符匹配及元字符“.”(点)功能介绍
在re模块中,任意字符匹配使用"."(点)来表示, 在默认模式下,点匹配除了换行的任意字符.如果指定了搜索标记re.DOTALL ,它将匹配包括换行符的任意字符.关于搜索标记的含义 ...
- 攻防世界 web进阶区 ics-06
攻防世界 ics-06 涉及知识点: (1)php://filter协议 (2)php中preg_replace()函数的漏洞 解析: 进入题目的界面,一通乱点点出了唯一一个可以进入的界面. 观察ur ...
- Python接口测试-使用requests模块发送GET请求
本篇主要记录下使用python的requests模块发送GET请求的实现代码. 向服务器发送get请求:无参数时:r = requests.get(url)带params时:r = requests. ...
- 题解 CF1437G Death DBMS
这题感觉不是很难,但是既然放在 \(\texttt{EDU}\) 的 \(\texttt{G}\) 题,那么还是写写题解吧. \(\texttt{Solution}\) 首先看到 "子串&q ...
- Swagger2配置
配置类 package top.yalong; import org.springframework.beans.factory.annotation.Value; import org.spring ...
- c++ 解析yaml文件
一直用c++操作ini做配置文件,想换成yaml,在全球最大的同性交友网站github上搜索,看有没有开源的库,功夫不负有心人,找到了yaml-cpp,用他解析了一个yaml的例子非常好使,分享一下如 ...
- mybatis-plus快速入门并使用
目录 mybatis-plus的初次使用总结 说明:官网自有黄金屋,深入学习看官网是必须的,废话不多说 环境:springboot.mysql 一.配置 pom yml配置数据库 二.代码生成器 生成 ...