返回顶部
首页 > 资讯 > 后端开发 > JAVA >MongoDB:在 Java 中使用 MongoDB
  • 522
分享到

MongoDB:在 Java 中使用 MongoDB

mongodbjava数据库 2023-09-14 09:09:46 522人浏览 八月长安
摘要

除了通过启动 monGo 进程进如 shell 环境访问数据库外,mongoDB 还提供了其他基于编程语言的访问数据库方法。MongoDB 官方提供了 Java 语言的驱动包,利用这些驱动包可使用

除了通过启动 monGo 进程进如 shell 环境访问数据库外,mongoDB 还提供了其他基于编程语言的访问数据库方法。MongoDB 官方提供了 Java 语言的驱动包,利用这些驱动包可使用多种编程方法来连接并操作 MongoDB 数据库。

想要在 Java 程序中使用 MongoDB,需要确保您的电脑上已经安装了 MongoDB,并搭建好了 Java 的环境。

本篇内容主要介绍:Java 实现对 MongDB 的操作、Java 操作 MongoDB 数据库 Demo


文章目录


一、Java 实现对 MongDB 的操作

1、前提条件

除了通过启动 mongo 进程进如 Shell 环境访问数据库外,MongoDB 还提供了其他基于编程语言的访问数据库方法。MongoDB 官方提供了 Java 语言的驱动包,利用这些驱动包可使用多种编程方法来连接并操作 MongoDB 数据库。

想要在 Java 程序中使用 MongoDB,需要确保您的电脑上已经安装了 MongoDB,并搭建好了 Java 的环境。

2、添加依赖

Maven 中添加以下依赖来使用操作 MongoDB 数据库:

    <dependencies>        <dependency>            <groupId>org.mongodbgroupId>            <artifactId>bsonartifactId>            <version>3.12.11version>        dependency>        <dependency>            <groupId>org.mongodbgroupId>            <artifactId>mongodb-driverartifactId>            <version>3.12.11version>        dependency>        <dependency>            <groupId>org.mongodbgroupId>            <artifactId>mongodb-driver-coreartifactId>            <version>3.12.11version>        dependency>               ...    dependencies>

二、Java 操作 MongoDB 数据库 Demo

1、连接数据库

package com.lizhengi.demo;import com.mongodb.client.MongoDatabase;import com.mongodb.MongoClient;import com.mongodb.MongoCredential;public class ConnectToMongodb {    public static void main(String[] args) {        // 创建 MongoDB 连接        MongoClient mongo = new MongoClient("localhost", 27017);        // 连接到 MongoDB        MongoCredential credential = MongoCredential.createCredential("lizhengi", "lizhengi", "passWord".toCharArray());        System.out.println("Credentials ::" + credential);        // 访问数据库        MongoDatabase database = mongo.getDatabase("lizhengi");        System.out.println("Connect to database successfully!");        System.out.println("MongoDatabase info is : " + database.getName());    }}

运行 Main 函数,返回以下结果:

Credentials ::MongoCredential{mechanism=null, userName=‘lizhengi’, source=‘lizhengi’, password=, mechanismProperties=}
Connect to database successfully!
MongoDatabase info is : lizhengi

2、创建集合

package com.lizhengi.demo;import com.mongodb.client.MongoDatabase;import com.mongodb.MongoClient;import com.mongodb.MongoCredential;public class CreatinGCollection {    public static void main(String[] args) {        // 创建 MongoDB 连接        MongoClient mongo = new MongoClient("localhost", 27017);        // 连接到 MongoDB        MongoCredential credential = MongoCredential.createCredential("lizhengi", "lizhengi", "password".toCharArray());        System.out.println("Credentials ::" + credential);        // 访问数据库        MongoDatabase database = mongo.getDatabase("lizhengi");        System.out.println("Connect to database successfully!");        System.out.println("MongoDatabase info is : " + database.getName());        // 创建集合        database.createCollection("lizhengi_test_3");        System.out.println("create collection successfully!");    }}

运行 Main 函数,返回以下结果:

Credentials ::MongoCredential{mechanism=null, userName=‘lizhengi’, source=‘lizhengi’, password=, mechanismProperties=}
Connect to database successfully!
MongoDatabase info is : lizhengi

create collection successfully!

3、列出所有集合

package com.lizhengi.demo;import com.mongodb.MongoClient;import com.mongodb.MongoCredential;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoDatabase;import org.bson.Document;public class ListOfCollection {    public static void main(String[] args) {        // 创建 MongoDB 连接        MongoClient mongo = new MongoClient("localhost", 27017);        // 连接到 MongoDB        MongoCredential credential = MongoCredential.createCredential("lizhengi", "lizhengi", "password".toCharArray());        System.out.println("Credentials ::" + credential);        // 访问数据库        MongoDatabase database = mongo.getDatabase("lizhengi");        System.out.println("Connect to database successfully!");        System.out.println("MongoDatabase info is : " + database.getName());        // 检索集合列表        for (String name : database.listCollectionNames()) {            System.out.println(name);        }    }}

运行 Main 函数,返回以下结果:

Credentials ::MongoCredential{mechanism=null, userName=‘lizhengi’, source=‘lizhengi’, password=, mechanismProperties=}
Connect to database successfully!
MongoDatabase info is : lizhengi

lizhengi
lizhengi_test_3
lizhengi_test_2

4、获取/选择集合

package com.lizhengi.demo;import com.mongodb.MongoClient;import com.mongodb.MongoCredential;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoDatabase;import org.bson.Document;public class SelectingCollection {    public static void main(String[] args) {        // 创建 MongoDB 连接        MongoClient mongo = new MongoClient("localhost", 27017);        // 连接到 MongoDB        MongoCredential credential = MongoCredential.createCredential("lizhengi", "lizhengi", "password".toCharArray());        System.out.println("Credentials ::" + credential);        // 访问数据库        MongoDatabase database = mongo.getDatabase("lizhengi");        System.out.println("Connect to database successfully!");        System.out.println("MongoDatabase info is : " + database.getName());        // 创建集合        MongoCollection<Document> collection = database.getCollection("lizhengi");        System.out.println("chose collection : " + collection.getNamespace());    }}

运行 Main 函数,返回以下结果:

Credentials ::MongoCredential{mechanism=null, userName=‘lizhengi’, source=‘lizhengi’, password=, mechanismProperties=}
Connect to database successfully!
MongoDatabase info is : lizhengi
chose collection : lizhengi.lizhengi

5、插入文档

package com.lizhengi.demo;import com.mongodb.MongoClient;import com.mongodb.MongoCredential;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoDatabase;import org.bson.Document;public class InsertingDocument {    public static void main(String[] args) {        // 创建 MongoDB 连接        MongoClient mongo = new MongoClient("localhost", 27017);        // 连接到 MongoDB        MongoCredential credential = MongoCredential.createCredential("lizhengi", "lizhengi", "password".toCharArray());        System.out.println("Credentials ::" + credential);        // 访问数据库        MongoDatabase database = mongo.getDatabase("lizhengi");        System.out.println("Connect to database successfully!");        System.out.println("MongoDatabase info is : " + database.getName());        // 检索集合        MongoCollection<Document> collection = database.getCollection("lizhengi");        System.out.println("chose collection : " + collection.getNamespace());        Document document = new Document("title", "MongoDB")                .append("description", "database")                .append("likes", 200)                .append("url", "https://lizhengi.blog.csdn.net/")                .append("by", "lizhengi");        // 将文档插入到集合中        collection.insertOne(document);        System.out.println("Document insert successfully!");    }}

运行 Main 函数,返回以下结果:

Credentials ::MongoCredential{mechanism=null, userName=‘lizhengi’, source=‘lizhengi’, password=, mechanismProperties=}
Connect to database successfully!
MongoDatabase info is : lizhengi
chose collection : lizhengi.lizhengi

Document insert successfully!

6、查询文档

package com.lizhengi.demo;import com.mongodb.client.FindIterable;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoDatabase;import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.MongoCredential;public class RetrievingAllDocuments {    public static void main(String[] args) {        // 创建 MongoDB 连接        MongoClient mongo = new MongoClient("localhost", 27017);        // 连接到 MongoDB        MongoCredential credential = MongoCredential.createCredential("lizhengi", "lizhengi", "password".toCharArray());        System.out.println("Credentials ::" + credential);        // 访问数据库        MongoDatabase database = mongo.getDatabase("lizhengi");        System.out.println("Connect to database successfully!");        System.out.println("MongoDatabase info is : " + database.getName());        // 检索集合        MongoCollection<Document> collection = database.getCollection("lizhengi");        System.out.println("chose collection : " + collection.getNamespace());        // 获取 iterable 对象        FindIterable<Document> iterDoc = collection.find();        int i = 1;        // 获取迭代器        for (Document document : iterDoc) {            System.out.println(document);            i++;        }    }}

运行 Main 函数,返回以下结果:

Credentials ::MongoCredential{mechanism=null, userName=‘lizhengi’, source=‘lizhengi’, password=, mechanismProperties=}
Connect to database successfully!
MongoDatabase info is : lizhengi
chose collection : lizhengi.lizhengi

Document{{_id=63b5676adcb7bc291eb5285d, title=MongoDB, description=database, likes=200, url=Https://lizhengi.blog.csdn.net/, by=lizhengi}}
Document{{_id=63b568fa76a0f93c0a6c9f2a, title=MongoDB, description=database, likes=200, url=https://lizhengi.blog.csdn.net/, by=lizhengi2}}

7、更新文档

package com.lizhengi.demo;import com.mongodb.MongoClient;import com.mongodb.MongoCredential;import com.mongodb.client.FindIterable;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoDatabase;import com.mongodb.client.model.Filters;import com.mongodb.client.model.Updates;import org.bson.Document;public class UpdatingDocuments {    public static void main(String[] args) {        // 创建 MongoDB 连接        MongoClient mongo = new MongoClient("localhost", 27017);        // 连接到 MongoDB        MongoCredential credential = MongoCredential.createCredential("lizhengi", "lizhengi", "password".toCharArray());        System.out.println("Credentials ::" + credential);        // 访问数据库        MongoDatabase database = mongo.getDatabase("lizhengi");        System.out.println("Connect to database successfully!");        System.out.println("MongoDatabase info is : " + database.getName());        // 检索集合        MongoCollection<Document> collection = database.getCollection("lizhengi");        System.out.println("chose collection : " + collection.getNamespace());        // 更新单个可用 updateOne        collection.updateMany(Filters.eq("title", "MongoDB"), Updates.set("likes", 150));        System.out.println("Document update successfully...");        // 更新后检索文档        // 获取 iterable 对象        FindIterable<Document> iterDoc = collection.find();        int i = 1;        // 获取迭代器        for (Document document : iterDoc) {            System.out.println(document);            i++;        }    }}

运行 Main 函数,返回以下结果:

Credentials ::MongoCredential{mechanism=null, userName='lizhengi', source='lizhengi', password=, mechanismProperties=}Connect to database successfully!MongoDatabase info is : lizhengichose collection : lizhengi.lizhengiDocument update successfully...Document{{_id=63b5676adcb7bc291eb5285d, title=MongoDB, description=database, likes=150, url=https://lizhengi.blog.csdn.net/, by=lizhengi}}Document{{_id=63b568fa76a0f93c0a6c9f2a, title=MongoDB, description=database, likes=200, url=https://lizhengi.blog.csdn.net/, by=lizhengi2}}

8、删除文档

package com.lizhengi.demo;import com.mongodb.MongoClient;import com.mongodb.MongoCredential;import com.mongodb.client.FindIterable;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoDatabase;import com.mongodb.client.model.Filters;import org.bson.Document;public class DeletingDocuments {    public static void main(String[] args) {        // 创建 MongoDB 连接        MongoClient mongo = new MongoClient("localhost", 27017);        // 连接到 MongoDB        MongoCredential credential = MongoCredential.createCredential("lizhengi", "lizhengi", "password".toCharArray());        System.out.println("Credentials ::" + credential);        // 访问数据库        MongoDatabase database = mongo.getDatabase("lizhengi");        System.out.println("Connect to database successfully!");        System.out.println("MongoDatabase info is : " + database.getName());        // 检索集合        MongoCollection<Document> collection = database.getCollection("lizhengi");        System.out.println("chose collection : " + collection.getNamespace());        // 删除文档 删除多个可用 deleteMany        collection.deleteOne(Filters.eq("title", "MongoDB"));        System.out.println("Document delete successfully...");        // 删除后检索文档        // 获取 iterable 对象        FindIterable<Document> iterDoc = collection.find();        int i = 1;        // 获取迭代器        for (Document document : iterDoc) {            System.out.println(document);            i++;        }    }}

运行 Main 函数,返回以下结果:

Credentials ::MongoCredential{mechanism=null, userName=‘lizhengi’, source=‘lizhengi’, password=, mechanismProperties=}
Connect to database successfully!
MongoDatabase info is : lizhengi
chose collection : lizhengi.lizhengi

Document delete successfully…
Document{{_id=63b568fa76a0f93c0a6c9f2a, title=MongoDB, description=database, likes=200, url=https://lizhengi.blog.csdn.net/, by=lizhengi2}}

9、删除集合

package com.lizhengi.demo;import com.mongodb.MongoClient;import com.mongodb.MongoCredential;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoDatabase;import org.bson.Document;public class DropingCollection {    public static void main(String[] args) {        // 创建 MongoDB 连接        MongoClient mongo = new MongoClient("localhost", 27017);        // 连接到 MongoDB        MongoCredential credential = MongoCredential.createCredential("lizhengi", "lizhengi", "password".toCharArray());        System.out.println("Credentials ::" + credential);        // 访问数据库        MongoDatabase database = mongo.getDatabase("lizhengi");        System.out.println("Connect to database successfully!");        System.out.println("MongoDatabase info is : " + database.getName());        // 检索集合        MongoCollection<Document> collection = database.getCollection("lizhengi_test_3");        System.out.println("chose collection : " + collection.getNamespace());        // 删除集合        collection.drop();        System.out.println("drop collection : " + collection.getNamespace());        // 检索集合列表        for (String name : database.listCollectionNames()) {            System.out.println(name);        }    }}

运行 Main 函数,返回以下结果:

Credentials ::MongoCredential{mechanism=null, userName=‘lizhengi’, source=‘lizhengi’, password=, mechanismProperties=}
Connect to database successfully!
MongoDatabase info is : lizhengi
chose collection : lizhengi.lizhengi_test_3

drop collection : lizhengi.lizhengi_test_3
lizhengi
lizhengi_test_2

来源地址:https://blog.csdn.net/weixin_45187434/article/details/128553717

--结束END--

本文标题: MongoDB:在 Java 中使用 MongoDB

本文链接: https://www.lsjlt.com/news/407014.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作