ToB企服应用市场:ToB评测及商务社交产业平台

标题: Docker:安装 MongoDB 的具体指南 [打印本页]

作者: 慢吞云雾缓吐愁    时间: 2024-11-18 05:17
标题: Docker:安装 MongoDB 的具体指南
请关注微信公众号:拾荒的小海螺
博客地址:http://lsk-ww.cn/
1、简述

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

2、安装

2.1 拉取 MongoDB 镜像

打开终端,输入以下命令来拉取 MongoDB 的官方 Docker 镜像:
  1. docker pull mongo:latest
复制代码
挂载文件目录:
  1. mkdir -p /data/mongo/config
  2. mkdir -p /data/mongo/data
  3. mkdir -p /data/mongo/logs
  4. touch /data/mongo/config/mongod.conf
  5. chmod 777 /data/mongo
复制代码
利用 vi 或 vim 编辑器打开mongod.conf文件:
  1. vim /data/mongo/config/mongod.conf
复制代码
设置文件添加以下内容:
  1. # 数据库存储路径
  2. dbpath=/data/mongo/data
  3. # 日志文件路径
  4. logpath=/data/mongo/logs/mongod.log
  5. # 监听的端口
  6. port=27017
  7. # 允许所有的 IP 地址连接
  8. bind_ip=0.0.0.0
  9. # 启用日志记录
  10. journal=true
  11. # 是否后台运行
  12. fork=true
  13. # 启用身份验证
  14. #auth=true
复制代码
2.2 运行 MongoDB 容器

拉取完镜像后,可以利用以下命令启动一个 MongoDB 容器:
  1. docker run -dit --name mongo \
  2. -p 17017:27017 \
  3. -v /data/mongo/config/mongod.conf:/etc/mongod.conf \
  4. -v /data/mongo/data:/data/db \
  5. -v /data/mongo/logs:/var/log/mongodb \
  6. -e MONGO_INITDB_ROOT_USERNAME=admin \
  7. -e MONGO_INITDB_ROOT_PASSWORD=admin \
  8. --restart=always \
  9. mongo:latest
复制代码
以上命令会在后台运行一个名为 mongo 的 MongoDB 容器。
3、常用指令

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


  1. show collections
复制代码

  1. db.createCollection("mycollection")
复制代码

  1. db.mycollection.drop()
复制代码
3.2 文档操作指令


  1. db.mycollection.insertOne({name: "Alice", age: 24, city: "New York"})
复制代码

  1. db.mycollection.insertMany([
  2.     {name: "Bob", age: 27, city: "San Francisco"},
  3.     {name: "Charlie", age: 30, city: "Chicago"}
  4. ])
复制代码

  1. db.mycollection.find()
复制代码

  1. db.mycollection.findOne({name: "Alice"})
复制代码

  1. db.mycollection.updateOne({name: "Alice"}, {$set: {age: 25}})
复制代码

  1. db.mycollection.updateMany({city: "New York"}, {$set: {city: "NYC"}})
复制代码

  1. db.mycollection.replaceOne({name: "Alice"}, {name: "Alice", age: 26, city: "NYC"})
复制代码

  1. db.mycollection.deleteOne({name: "Alice"})
复制代码

  1. db.mycollection.deleteMany({city: "NYC"})
复制代码
3.3 索引管理指令


  1. db.mycollection.createIndex({name: 1})
复制代码

  1. db.mycollection.getIndexes()
复制代码

  1. db.mycollection.dropIndex("name_1")
复制代码
3.4 其他常用指令


  1. db.mycollection.countDocuments()
复制代码

  1. db.mycollection.countDocuments({city: "San Francisco"})
复制代码

  1. db.mycollection.aggregate([
  2.     {$match: {city: "San Francisco"}},
  3.     {$group: {_id: "$city", total: {$sum: 1}}}
  4. ])
复制代码
以上列出的指令涵盖了 MongoDB 中常见的数据库管理、集合操作、文档操作和索引管理。这些指令是 MongoDB 开辟和管理中最常用的,掌握这些指令可以有用地管理和操作 MongoDB 数据库。希望本文对你在利用 MongoDB 时提供了实用的参考。
4、样例

在 Java 应用中利用 MongoDB,通常利用官方的 MongoDB Java 驱动步伐。以下是一个简单的 Java 示例,展示如何连接到 MongoDB 并进行根本的 CRUD 操作。
4.1 引入 MongoDB Java 驱动

在你的项目中添加 MongoDB Java 驱动依赖。利用 Maven 构建工具时,可以在 pom.xml 文件中添加以下依赖:
  1. <dependency>
  2.     <groupId>org.mongodb</groupId>
  3.     <artifactId>mongodb-driver-sync</artifactId>
  4.     <version>4.4.0</version>
  5. </dependency>
复制代码
4.2 连接到 MongoDB

以下是一个 Java 示例代码,展示如何连接到 MongoDB 并进行根本的数据库操作:
  1. import com.mongodb.client.MongoClients;
  2. import com.mongodb.client.MongoClient;
  3. import com.mongodb.client.MongoDatabase;
  4. import com.mongodb.client.MongoCollection;
  5. import org.bson.Document;
  6. public class MongoDBExample {
  7.     public static void main(String[] args) {
  8.         // 连接到 MongoDB 服务
  9.         MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");
  10.         // 连接到数据库
  11.         MongoDatabase database = mongoClient.getDatabase("mydb");
  12.         // 获取集合
  13.         MongoCollection<Document> collection = database.getCollection("test");
  14.         // 创建文档
  15.         Document doc = new Document("name", "Alice")
  16.                 .append("age", 24)
  17.                 .append("city", "New York");
  18.         // 插入文档
  19.         collection.insertOne(doc);
  20.         // 查询文档
  21.         Document myDoc = collection.find().first();
  22.         System.out.println(myDoc.toJson());
  23.         // 更新文档
  24.         collection.updateOne(new Document("name", "Alice"), new Document("$set", new Document("age", 25)));
  25.         // 删除文档
  26.         collection.deleteOne(new Document("name", "Alice"));
  27.         // 关闭客户端
  28.         mongoClient.close();
  29.     }
  30. }
复制代码
5、结论

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4