千家信息网

在开发中如何实现MongoDB与Java的集成

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇"在开发中如何实现MongoDB与Java的集成"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一
千家信息网最后更新 2026年11月01日在开发中如何实现MongoDB与Java的集成

这篇"在开发中如何实现MongoDB与Java的集成"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"在开发中如何实现MongoDB与Java的集成"文章吧。

1.什么是MongoDB?

MongoDB 是一种非常流行的 NoSQL 开源数据库。它适用于集合而不是表和文档而不是行和列,可提供高性能、高可用性和轻松的可扩展性。

示例文件:

{   "_id" : ObjectId("5b0d226b31a5f6595a7034de"),   "firstName" : "Dharam",   "lastName" : "Rajput"}

1.1 我们需要什么

  • MongoDB 3.6

  • MongoDB-Java-Driver 2.10.1

  • JDK 1.8

  • Maven 3.0.3

1.2 所需的依赖

org.mongodbmongo-java-driver2.10.1 

现在让我们开始用 Java 实现 Mongo 查询,我们将从 CRUD 操作开始。

2. 与 MongoClient 的连接

如果我们使用低于2.10.0的MongoDB版本,那么我们使用MongoDB服务器,但我们使用的是更高版本,所以我们将使用MongoClient与MongoDB建立连接。

MongoClient mongo = new MongoClient( "localhost" , 27017 );// If we use older version thanMongo mongo = new Mongo("localhost", 27017);

3. 与数据库的连接

现在连接数据库。如果您的数据库不存在,那么 Mongo 将创建一个新数据库。

DB database = mongoClient.getDB("testdb");

如果我们在安全模式下使用 Mongo,则需要身份验证。

MongoClient mongoClient = new MongoClient();DB database = mongoClient.getDB("testdb"); // testdb is db nameboolean auth = database.authenticate("username", "password".toCharArray());

使用以下代码检查哪个数据库已经存在。

mongoClient.getDatabaseNames().forEach(System.out::println);

4. 蒙戈收藏

现在,创建一个相当于RDBMS 中的表的集合。我们可以将集合设为:

database.createCollection("users", null);

获取并打印所选数据库的所有现有集合。

database.getCollectionNames().forEach(System.out::println);

5. 插入文档

现在我们将在集合(表)中保存一个文档(数据)。

DBCollection table = db.getCollection("users");BasicDBObject document = new BasicDBObject();document.put("firstName", "Dharam");document.put("lastName", "Rajput");table.insert(document);

现在已经在数据库中插入了一个文档。

{   "_id" : ObjectId("5b0d226b31a5f6595a7034de"),   "firstName" : "Dharam",   "lastName" : "Rajput"}

6. 更新文档

假设我们有以下文档:

{   "_id" : ObjectId("5b0d226b31a5f6595a7034de"),   "firstName" : "Dharam",   "lastName" : "Rajput"}

我们想更改此文档的名字。

首先搜索 name="Dharam" 的文档并使用新值 "Dharmendra" 更新它

BasicDBObject query = new BasicDBObject();query.put("firstName", "Dharam");BasicDBObject newDocument = new BasicDBObject();newDocument.put("firstName", "Dharmendra");BasicDBObject updateObj = new BasicDBObject();updateObj.put("$set", newDocument);

7. 在集合中查找文档

在用户集合中搜索"firstName = Dharmendra"的文档

DBCollection db= db.getCollection("user");BasicDBObject searchQuery = new BasicDBObject();searchQuery.put("firstName", "Dharmendra");DBCursor cursor = db.find(searchQuery);while (cursor.hasNext()) {System.out.println(cursor.next());}

8. 删除文件

删除"firstName = Dharmendra"的文档。

DBCollection db= db.getCollection("user");BasicDBObject searchQuery = new BasicDBObject();searchQuery.put("name", "mkyong");db.remove(searchQuery);

本教程是 MongoDB 与 Java 的快速介绍。

现在在这里找到 MongoDB 与 Java 集成的完整代码。

package com.demo.mongodb;import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.DBCursor;import com.mongodb.MongoClient;public class TestDB {public static void main(String[] args) {try {/**** Connect to MongoDB ****/// Since 2.10.0, uses MongoClientMongoClient mongoClient = new MongoClient("localhost", 27017);/**** Get database ****/// if database doesn't exists, MongoDB will create it for youDB db = mongoClient.getDB("testdb");mongoClient.getDatabaseNames().forEach(System.out::println);/**** Get collection / table from 'testdb' ****/// if collection doesn't exists, MongoDB will create it for youDBCollection collection = db.getCollection("users");/**** Insert ****/// create a document to store key and valueBasicDBObject document = new BasicDBObject();document.put("firstName", "Dharam");document.put("lastName", "Rajput");collection.insert(document);/**** Find and display ****/BasicDBObject searchQuery = new BasicDBObject();searchQuery.put("firstName", "Dharam");DBCursor dbCursor = collection.find(searchQuery);while (dbCursor.hasNext()) {System.out.println(dbCursor.next());}/**** Update ****/// search document where name="Dharam" and update it with new values "Dharmendra"BasicDBObject dbQuery = new BasicDBObject();dbQuery.put("firstName", "Dharam");BasicDBObject newDocument = new BasicDBObject();newDocument.put("firstName", "Dharmendra");BasicDBObject updateObj = new BasicDBObject();updateObj.put("$set", newDocument);collection.update(dbQuery, updateObj);/**** Find and display ****/BasicDBObject findQuery   = new BasicDBObject().append("firstName", "Dharmendra");DBCursor findCursor = collection.find(findQuery);while (findCursor.hasNext()) {System.out.println(findCursor.next());}   } catch (Exception e) {e.printStackTrace(); }}}

以上就是关于"在开发中如何实现MongoDB与Java的集成"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

文档 数据 数据库 内容 开发 代码 文件 文章 版本 知识 篇文章 搜索 更新 安全 价值 可扩展性 可用性 名字 大部分 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 苏州找大状互联网科技有限公司 科技互联网龙头 互联网科技公司的优势 科技与互联网 互联网科技战争 易通互联网络科技有限公司 融势互联网科技 唐信互联网科技 大连 上海万想互联网科技 互联网高科技企业 西藏七维空间互联网科技有限公司 成都互联网科技公司100强 团飞科技与伯堂互联网服务平台 米聚互联网科技南京有限公司排面 青海科技产业互联网发展 广州千川互联网科技有限公司 云南省自由互联网科技有限公司 产业互联网科技服务公司 广州梦谷互联网科技有限公司领导 互联网科技创新方面的资料 手磨咖啡 互联网科技美容 汉立互联网科技有限公司联系电话 互联网和高科技公司 互联网系的金融科技公司 互联网为啥属于高科技 速维有品互联网信息科技(苏州)有限公司 版纳互联网科技选哪家 科技互联网企业在行动 伍佰万互联网科技是干嘛的
0