Java原生API访问MongoDB
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 | 关系型数据库 |
数据库 | 数据库 |
集合 | 表 |
文档 | 一行数据 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗