0


Docker:安装 MongoDB 的详细指南

请关注微信公众号:拾荒的小海螺
博客地址:http://lsk-ww.cn/

1、简述

MongoDB 是一个流行的 NoSQL 数据库,可以在 Docker 容器中轻松安装和运行。本文将介绍如何在 Docker 中安装 MongoDB,并展示如何在 Java 应用中使用 MongoDB。

在这里插入图片描述

2、安装

2.1 拉取 MongoDB 镜像

打开终端,输入以下命令来拉取 MongoDB 的官方 Docker 镜像:

docker pull mongo:latest

挂载文件目录:

mkdir -p /data/mongo/config
mkdir -p /data/mongo/data
mkdir -p /data/mongo/logs
touch /data/mongo/config/mongod.conf
chmod 777/data/mongo

使用 vi 或 vim 编辑器打开mongod.conf文件:

vim /data/mongo/config/mongod.conf

配置文件添加以下内容:

# 数据库存储路径
dbpath=/data/mongo/data
 
# 日志文件路径
logpath=/data/mongo/logs/mongod.log
 
# 监听的端口
port=27017# 允许所有的 IP 地址连接
bind_ip=0.0.0.0# 启用日志记录
journal=true# 是否后台运行
fork=true# 启用身份验证#auth=true
2.2 运行 MongoDB 容器

拉取完镜像后,可以使用以下命令启动一个 MongoDB 容器:

docker run -dit --name mongo \
-p 17017:27017 \
-v /data/mongo/config/mongod.conf:/etc/mongod.conf \
-v /data/mongo/data:/data/db \
-v /data/mongo/logs:/var/log/mongodb \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=admin \
--restart=always \
mongo:latest

以上命令会在后台运行一个名为 mongo 的 MongoDB 容器。

3、常用指令

在 MongoDB 中,常见的使用指令包括数据库管理、集合操作、文档操作、索引管理等。以下是一些常见的 MongoDB 使用指令:

3.1 集合操作指令
  • 显示当前数据库中的所有集合
show collections
  • 创建集合
db.createCollection("mycollection")
  • 删除集合
db.mycollection.drop()
3.2 文档操作指令
  • 插入文档
db.mycollection.insertOne({name:"Alice",age:24,city:"New York"})
  • 插入多个文档
db.mycollection.insertMany([{name:"Bob",age:27,city:"San Francisco"},{name:"Charlie",age:30,city:"Chicago"}])
  • 查询所有文档
db.mycollection.find()
  • 查询单个文档
db.mycollection.findOne({name:"Alice"})
  • 更新文档
db.mycollection.updateOne({name:"Alice"},{$set:{age:25}})
  • 更新多个文档
db.mycollection.updateMany({city:"New York"},{$set:{city:"NYC"}})
  • 替换文档
db.mycollection.replaceOne({name:"Alice"},{name:"Alice",age:26,city:"NYC"})
  • 删除单个文档
db.mycollection.deleteOne({name:"Alice"})
  • 删除多个文档
db.mycollection.deleteMany({city:"NYC"})
3.3 索引管理指令
  • 创建索引
db.mycollection.createIndex({name:1})
  • 显示所有索引
db.mycollection.getIndexes()
  • 删除索引
db.mycollection.dropIndex("name_1")
3.4 其他常用指令
  • 统计集合中文档数量
db.mycollection.countDocuments()
  • 统计集合中文档数量(满足条件)
db.mycollection.countDocuments({city:"San Francisco"})
  • 聚合操作
db.mycollection.aggregate([{$match:{city:"San Francisco"}},{$group:{_id:"$city",total:{$sum:1}}}])

以上列出的指令涵盖了 MongoDB 中常见的数据库管理、集合操作、文档操作和索引管理。这些指令是 MongoDB 开发和管理中最常用的,掌握这些指令可以有效地管理和操作 MongoDB 数据库。希望本文对你在使用 MongoDB 时提供了实用的参考。

4、样例

在 Java 应用中使用 MongoDB,通常使用官方的 MongoDB Java 驱动程序。以下是一个简单的 Java 示例,展示如何连接到 MongoDB 并进行基本的 CRUD 操作。

4.1 引入 MongoDB Java 驱动

在你的项目中添加 MongoDB Java 驱动依赖。使用 Maven 构建工具时,可以在 pom.xml 文件中添加以下依赖:

<dependency><groupId>org.mongodb</groupId><artifactId>mongodb-driver-sync</artifactId><version>4.4.0</version></dependency>
4.2 连接到 MongoDB

以下是一个 Java 示例代码,展示如何连接到 MongoDB 并进行基本的数据库操作:

import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoCollection;
import org.bson.Document;publicclassMongoDBExample{publicstaticvoidmain(String[] args){// 连接到 MongoDB 服务MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");// 连接到数据库MongoDatabase database = mongoClient.getDatabase("mydb");// 获取集合MongoCollection<Document> collection = database.getCollection("test");// 创建文档Document doc =newDocument("name","Alice").append("age",24).append("city","New York");// 插入文档
        collection.insertOne(doc);// 查询文档Document myDoc = collection.find().first();
        System.out.println(myDoc.toJson());// 更新文档
        collection.updateOne(newDocument("name","Alice"),newDocument("$set",newDocument("age",25)));// 删除文档
        collection.deleteOne(newDocument("name","Alice"));// 关闭客户端
        mongoClient.close();}}

5、结论

通过 Docker 安装和运行 MongoDB 非常简单,只需要几个命令即可完成。然后,在 Java 应用中使用 MongoDB 也非常方便,通过 MongoDB Java 驱动程序,可以轻松实现数据库的连接和操作。希望本文对你在 Docker 环境中使用 MongoDB 提供了帮助,并展示了如何在 Java 应用中进行基本的数据库操作。

标签: docker mongodb 容器

本文转载自: https://blog.csdn.net/lishangke/article/details/140672786
版权归原作者 拾荒的小海螺 所有, 如有侵权,请联系我们删除。

“Docker:安装 MongoDB 的详细指南”的评论:

还没有评论