一、环境的准备
1、MongoDB已经安装完成
2、java环境准备
(1)jdk:oracle官网:https://www.oracle.com/java/technologies/downloads/
(2)开发工具:
eclipse官网:https://www.eclipse.org/
idea官网:https://www.jetbrains.com.cn/idea/
3、选择MongoDB JDBC驱动
https://mongodb.github.io/mongo-java-driver/(可以下载后放在电脑任意位置,只需要在java工程中导入即可)
mongo-java-driver-3.12.1.jar
二、Java代码实现
1、连接数据库
| |
| MongoClient conn=new MongoClient("127.0.0.1"); |
| |
| for(String name:conn.listDatabaseNames()){ |
| System.out.println("dbName:"+name); |
| } |
2、获取数据库
| |
| |
| MongoDatabase db=conn.getDatabase("dbName"); |
| |
| for(String nameColl:db.listCollectionNames()){ |
| System.out.println("collectionName:"+nameColl); |
| } |
3、创建集合
| |
| |
| db.createCollection("collectionName"); |
4、删除集合
| |
| |
| MongoCollection<Document> collection = db.getCollection("collectionName"); |
| collection.drop(); |
5、获取集合(获取的这个集合,这个集合中放着文档<document>)
| |
| |
| |
| MongoCollection<Document> collection = mongoDatabase.getCollection("collectionName"); |
| |
| collection.count(); |
6、插入文档
(1)插入一条文档
| |
| |
| Document doc = new Document(); |
| |
| doc.put("name", "zs"); |
| doc.put("age", 25); |
| |
| List<String> books=new ArrayList<String>(); |
| books.add("C"); |
| books.add("Java"); |
| books.add("JS"); |
| doc.put("books", books); |
| |
| collection.insertOne(doc); |
(2)插入多个文档
| |
| |
| Document document1 = new Document("name","张三").append( "age",20); |
| Document document2 = new Document( "name", "李四").append("age", 21); |
| |
| List<Document> documents = new ArrayList<Document>(); |
| documents.add(document1); |
| documents.add(document2); |
| |
| collection.insertMany(documents); |
7、删除文档
| |
| Document docDelete=new Document(); |
| |
| docDelete.append("name", "张三"); |
| collection.deleteMany(docDelete); |
8、更新文档
| |
| Document docUpdate=new Document(); |
| |
| docUpdate.append("$set",new Document("email","123456@qq.com")); |
| |
| collection.updateOne(Filters.eq("name","李四"), docUpdate); |
| collection.updateMany(Filters.eq("name","李四"), docUpdate); |
| |
9、查询文档
(1)普通查询
| |
| FindIterable<Document> findIterable = collection.find(); |
| |
| for(Document document:findIterable){ |
| System.out.println(document); |
| } |
(2)按条件查询
| |
| FindIterable<Document> findIterable = collection.find(Filters.eq("name","李四")); |
| |
| for(Document document:findIterable){ |
| System.out.println(document); |
| } |
(3)多条件查询
| |
| |
| Bson filter=Filters.and(Filters.eq("name","李四"),Filters.eq("age", 25)); |
| FindIterable<Document> findIterable = collection.find(filter); |
| for(Document document:findIterable){ |
| System.out.println(document); |
| } |
10、游标(使用游标输出文档)
| |
| FindIterable<Document> findIterable = collection.find(); |
| |
| MongoCursor<Document> mongoCursor = findIterable.iterator(); |
| |
| while(mongoCursor.hasNext()){ |
| Document doc1=mongoCursor.next(); |
| |
| System.out.println(doc1.get("name") |
| +"》" +doc1.get("age") |
| +"》" +doc1.get("books")); |
| |
| } |
11以下是需要导入到包
| import java.util.ArrayList; |
| import java.util.List; |
| |
| import org.bson.Document; |
| import org.bson.conversions.Bson; |
| |
| import com.mongodb.MongoClient; |
| import com.mongodb.client.FindIterable; |
| import com.mongodb.client.MongoClients; |
| import com.mongodb.client.MongoCollection; |
| import com.mongodb.client.MongoCursor; |
| import com.mongodb.client.MongoDatabase; |
| import com.mongodb.client.model.Filters; |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)