MongoDB简介与安装

目录

[1. MongoDB简介](#1. MongoDB简介)

[2. 安装MongoDB](#2. 安装MongoDB)

[3. 基本命令行操作](#3. 基本命令行操作)

[4. Java代码实践](#4. Java代码实践)


MongoDB是一种NoSQL数据库,以其灵活的文档存储模型和高度可扩展性而闻名。这篇文章将简单介绍一下MongoDB的基本概念,包括其特点和优势,并提供安装MongoDB的步骤。

1. MongoDB简介

NoSQL数据库概述: NoSQL数据库是一类不使用传统SQL关系型数据库模型的数据库管理系统。它们以更灵活的数据模型为特点,适用于大规模的分布式数据存储和处理。MongoDB属于NoSQL数据库的一种。

MongoDB的优势与特点:

  • 灵活的数据模型: MongoDB采用文档数据库模型,数据以类似JSON的BSON(Binary JSON)格式存储,支持嵌套文档和数组。
  • 高性能: MongoDB具有高度的读写并发能力,并支持水平扩展,适用于大规模应用。
  • 自动分片: MongoDB可以通过分片技术实现水平扩展,自动分配数据存储在多个节点上,提高系统性能和容错性。
  • 开源免费: MongoDB是开源的,并且提供免费使用,使其成为许多开发者和企业的首选数据库。
2. 安装MongoDB

下载与安装:

首先,访问MongoDB官网下载适用于你操作系统的MongoDB Community Edition。根据操作系统类型,选择合适的版本并按照官方指南安装。

启动MongoDB服务:

安装完成后,打开终端或命令行,执行以下命令启动MongoDB服务:

bash 复制代码
mongod

这将启动MongoDB的服务进程,监听默认端口27017。

bash 复制代码
...
[initandlisten] waiting for connections on port 27017

连接MongoDB:

在新的终端或命令行窗口中,执行以下命令连接到MongoDB:

bash 复制代码
mongo

现在,你已成功连接到MongoDB,并可以开始执行各种操作。

3. 基本命令行操作

MongoDB的命令行界面提供了一系列操作数据库的命令,以下是一些基本的命令:

  • 显示数据库列表:
bash 复制代码
show dbs
bash 复制代码
admin   0.000GB
config  0.000GB
local   0.000GB
  • 切换/创建数据库:
bash 复制代码
use mydatabase
  • 插入文档:
bash 复制代码
db.mycollection.insert({ name: "John", age: 30 })
bash 复制代码
WriteResult({ "nInserted" : 1 })
  • 查询文档:
bash 复制代码
db.mycollection.find()
bash 复制代码
{ "_id" : ObjectId("60a9c13165d1b235f8e0bfa3"), "name" : "Alice", "age" : 25 }

这些是MongoDB的基本命令,其他的命令大家就自己去官网搜索啦~

4. Java代码实践

MongoDB提供了Java驱动程序,称为MongoDB Java Driver,用于在Java应用程序中连接和操作MongoDB数据库。以下是一个简单的Java代码示例,演示如何插入和查询文档:

java 复制代码
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

public class MongoDBExample {

    public static void main(String[] args) {
        // 连接到MongoDB数据库
        try (var mongoClient = MongoClients.create("mongodb://localhost:27017")) {
            // 获取或创建数据库
            MongoDatabase database = mongoClient.getDatabase("mydatabase");

            // 获取或创建集合
            MongoCollection<Document> collection = database.getCollection("mycollection");

            // 插入文档
            Document document = new Document("name", "Alice").append("age", 25);
            collection.insertOne(document);

            // 查询文档
            collection.find().forEach(doc -> System.out.println(doc.toJson()));
        }
    }
}
bash 复制代码
{ "_id" : ObjectId("60a9c13165d1b235f8e0bfa3"), "name" : "Alice", "age" : 25 }

这个示例使用MongoDB Java Driver连接到本地MongoDB服务,插入一个文档,然后查询并打印集合中的所有文档。

相关推荐
vistaup12 分钟前
Android ContentProvier
android·数据库
Pluchon16 分钟前
硅基计划5.0 MySQL 陆 视图&JDBC编程&用户权限控制
数据库·mysql·1024程序员节
摇滚侠20 分钟前
Spring Boot3零基础教程,自定义 starter,把项目封装成依赖给别人使用,笔记65
数据库·spring boot·笔记
不剪发的Tony老师21 分钟前
SQLiteSpy:一款轻量级的SQLite管理工具
数据库·sqlite
一 乐44 分钟前
车辆管理|校园车辆信息|基于SprinBoot+vue的校园车辆管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·车辆管理
得物技术1 小时前
告别数据无序:得物数据研发与管理平台的破局之路
大数据·数据库·数据分析
EndingCoder2 小时前
Node.js 数据查询优化技巧
服务器·javascript·数据库·node.js·数据查询优化
TDengine (老段)2 小时前
TDengine 数学函数 SIGN 用户手册
大数据·数据库·sql·时序数据库·iot·tdengine·涛思数据
RestCloud2 小时前
Kingbase 与 ETL:如何实现金融级数据库的安全数据同步
数据库·数据安全·etl·数据处理·数据传输·数据同步·kingbase
Elastic 中国社区官方博客2 小时前
在 Elastic Observability 中,启用 TSDS 集成可节省高达 70% 的指标存储
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索·时序数据库