Java操作MongoDB的基本操作
目录
Java连接MongoDB
Java操作MongoDB
MongoDB库操作
查看MongoDB链接中的所有的库
使用库查看库中的集合
MongoDB集合操作
插入数据
删除数据
修改数据
查询数据
Java连接MongoDB
1.Java环境中导入MonagDB驱动包
2.获取链接对象
//获取链接对象
MongoClient mongoClient = new MongoClient("localhost",27017);
3.获取数据库对象
//获取数据库对象
MongoDatabase database = mongoClient.getDatabase("myschool");
4.获取集合对象
//获取集合对象
MongoCollection<Document> student = database.getCollection("student");
5.关闭连接
//关闭连接
mongoClient.close();
Java操作MongoDB
MongoDB库操作
查看MongoDB链接中的所有的库
//查看链接的MongoDB中的所有的库
MongoIterable<String> dblist = mongoClient.listDatabaseNames();for (String list:dblist) {System.out.println(list);
}
使用库查看库中的集合
//使用库查看库中的集合MongoDatabase database = mongoClient.getDatabase("myschool");MongoIterable<String> coollist = database.listCollectionNames();for (String list:coollist) {System.out.println(list);}
MongoDB集合操作
插入数据
插入单条数据
//新增单个
Document document = new Document();
document.put("name","老八");
document.put("age",88);
document.put("sex","女");
document.put("wanju","小汽车");student.insertOne(document);
插入多条数据
//新增多个
Document document1 = new Document();
document1.put("name","老十");
document1.put("age",55);
document1.put("sex","男");
document1.put("wanju","小汽车");
Document document2 = new Document();
document2.put("name","老十一");
document2.put("age",66);
document2.put("sex","女");
document2.put("wanju","小火车");
Document document3 = new Document();
document3.put("name","老十二");
document3.put("age",77);
document3.put("sex","男");
document3.put("wanju","小电车");
Document document4 = new Document();
document4.put("name","老十三");
document4.put("age",88);
document4.put("sex","女");
document4.put("wanju","小轮船");
Document document5 = new Document();
document5.put("name","老十四");
document5.put("age",99);
document5.put("sex","男");
document5.put("wanju","小飞机");List<Document> documentList = new ArrayList<Document>();
documentList.add(document1);
documentList.add(document2);
documentList.add(document3);
documentList.add(document4);
documentList.add(document5);student.insertMany(documentList);
删除数据
删除单条数据
//删除单条数据
//将姓名为张三第一个匹配到的数据删除
DeleteResult deleteOne = collection.deleteOne(new Document("name","张三"));
删除多条数据
//删除多条数据
//将姓名为张三的所有匹配到的数据删除
DeleteResult deleteMany = collection.deleteMany(new Document("name","张三"));
修改数据
修改单条数据
//修改单个
//将年龄为20岁第一个匹配到的数据的姓名改为张三
Bson eq = Filters.eq("name", "张三");UpdateResult updateOne = student.updateOne(eq,new Document("$set",new Document("age","20")));
修改多条数据
//修改多个
//将年龄为100岁能匹配到的全部数据的姓名改为老八
Bson eq = Filters.eq("name", "老八");UpdateResult updateMany = student.updateMany(and, new Document("$inc", new Document("age", "100")));
多条件修改数据
//多条件修改
//将年龄大于等于20小于等于30的性别改为保密
Bson bson = Filters.and(Filters.gte("age", 20),Filters.lte("age", 30));UpdateResult updateMany = student.updateMany(bson, new Document("$set", new Document("sex", "保密")));
匹配不到就做新增
//匹配不到就新增
//将年龄为100岁第一个匹配到的姓名改为老八若匹配不到则新增数据
Bson eq = Filters.eq("name", "老八");UpdateResult updateOne = student.updateOne(eq,new Document("$set",new Document("age","100")),new UpdateOptions().upsert(true));
查询数据
全查
//表对象
MongoCollection<Document> comm = bbsDB.getCollection("student");
//全查
FindIterable<Document> find = comm.find();
//迭代器对象
MongoCursor<Document> iterator = find.iterator();
//循环遍历
while(iterator.hasNext()){System.out.println(inerator.next());
}
带条件查询
//表对象
MongoCollection<Document> comm = bbsDB.getCollection("student");
//添加条件
Bson bson = Filters.eq("sname","专家说空腹不宜吃早餐");
//带上条件查询
FindIterable<Document> find = comm.find(bson);
//迭代器对象
MongoCursor<Document> iterator = find.iterator();
//循环遍历
while(iterator.hasNext()){System.out.println(inerator.next());
}
带多个条件查询
//表对象
MongoCollection<Document> comm = bbsDB.getCollection("student");
//添加条件
Bson bson = Filters.and(Filters.eq("sname","专家说空腹不宜吃早餐"),Filters.gte("sage",8)
);
//带上多个条件查询
FindIterable<Document> find = comm.find(bson);
//迭代器对象
MongoCursor<Document> iterator = find.iterator();
//循环遍历
while(iterator.hasNext()){System.out.println(inerator.next());
}
模糊查询
//表对象
MongoCollection<Document> comm = bbsDB.getCollection("student");
//添加条件
Bson bson = Filters.regex("sname","吃早餐");
//带上模糊条件查询
FindIterable<Document> find = comm.find(bson);
//迭代器对象
MongoCursor<Document> iterator = find.iterator();
//循环遍历
while(iterator.hasNext()){System.out.println(inerator.next());
}
分页查询
//表对象
MongoCollection<Document> comm = bbsDB.getCollection("student");
//分页查询
FindIterable<Document> find = comm.find(bson),skip(2),limit(3);
//迭代器对象
MongoCursor<Document> iterator = find.iterator();
//循环遍历
while(iterator.hasNext()){System.out.println(inerator.next());
}
排序查询
//表对象
MongoCollection<Document> comm = bbsDB.getCollection("student");
//添加排序 1表示升序 -1表示降序
Bson bson = new Document("sid",-1);
//带上排序条件查询
FindIterable<Document> find = comm.find().sort(bson);
//迭代器对象
MongoCursor<Document> iterator = find.iterator();
//循环遍历
while(iterator.hasNext()){System.out.println(inerator.next());
}
Java操作MongoDB的基本操作相关推荐
- Java操作MongoDB增删改查的基本操作
今天来讲一讲我们如何使用Java来对MongoDB进行增删改查 目录 一,Java链接MongoDB 导入MongoDB驱动包 获取链接对象 关闭链接 二,Java操作MongoDB 查看库,查看集合 ...
- Java操作MongoDB
之前我们介绍的MongoDB的操作都是在shell命令中写的,在项目开发时我们当然都是用程序去操作MongoDB的,本文我们来看看如何用Java代码操作MongoDB. 本文是MongoDB系列的第十 ...
- java操作mongodb(连接池)(转)
原文链接: java操作mongodb(连接池) Mongo的实例其实就是一个数据库连接池,这个连接池里默认有10个链接.我们没有必要重新实现这个链接池,但是我们可以更改这个连接池的配置.因为Mong ...
- 【MongoDB for Java】Java操作MongoDB
软件151--熊佳杨 开发环境: System:Windows IDE:eclipse.MyEclipse 8 Database:mongoDB 开发依赖库: JavaEE5.mongo-2.5.3. ...
- mongodb for java_【MongoDB for Java】Java操作MongoDB
上一篇文章: http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html介绍到了在MongoDB的控制台完成MongoDB的数据操作,通过 ...
- Java操作MongoDB数据库CRUD(增删查改)
Java操作MongoDB数据库CRUD(增删查改) 借助mongo-java-driver包,对MongoDB数据库的集合(DataTable)及文档(BSON对象数据)进行增删查改操作.本文的核心 ...
- java操作mongodb查询总数_java操作mongodb——查询数据
field为查询字段,value为查询值,也可以通过过滤器Filters,Filters提供了一系列查询条件的静态方法 相等 - = FindIterable iter = doc.find(new ...
- Java操作Mongodb数据(增删改查聚合查询)
文章目录 一.Java操作MongoDB 二.使用步骤 1.基础配置 2.实体类 3.MongoDB表数据 3.增删改查聚合查询 总结 一.Java操作MongoDB 上一篇文章介绍了,如何在本地使用 ...
- Java操作MongoDB详解
Java操作MongoDB详解 1. MongoDB概述 1.1 MongoDB简介 1.2 MongoDB概念 2. MongoDB安装 2.1 MongoDB下载 2.2 MongoDB安装 2. ...
最新文章
- 免费报名 | 微软全双工语音对话以及在智能硬件上的应用
- 关于sharepoint
- AVFoundation 文本转语音和音频录制 播放
- idea本地跑如何看gc日志_牛逼了!用 IDEA 扒出了开源组件导致FGC的原因
- mysql恢复 报错_Mysql 数据恢复报错
- html流光按钮,【CSS】css实现流光效果-按钮流光显示效果-自发光
- 如何防止在listbox中添加很多数据出现不停的刷新
- Windows系统下查看已共享的文件夹的方法
- Matlab之矩阵的特征值与特征向量求解
- 手机解开加密excel表格xlsx,忘记excel表格xlsx密码如何找回?
- 一周信创舆情观察(7.5~7.11)
- 送书 | 聊聊阳光问政
- 恒生电子:控股股东恒生集团股权变更已完成工商变更登记手续
- 样本量太小怎么做结构方程模型?
- Python语言程序设计笔记
- C1认证学习四(多媒体基础参数)
- 对称矩阵的判定 C语言 SDUT
- Word域切换及更新快捷键域代码
- chatgpt赋能python:Python波浪号简介
- 使用163网易相册的朋友注意啦!
热门文章
- javascript操作office控件
- 最新代shua网秒shua订单量源码 上传即可使用
- 案例:990万次骑行:纽约自行车共享系统分析
- Airtest--基本使用(简易描述)
- 在线Html转义/反转义工具
- 盘点一些国产“有特点”的单片机
- 9、python——文件操作
- CPU性能Intel(R) Xeon(R) Platinum处理器2.5 GHz主频
- 不用ps也能做出高大上的图
- 顺丰gis产品经理_2018顺丰科技面试经验(产品经理,gis产品经理等)