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服务,插入一个文档,然后查询并打印集合中的所有文档。

相关推荐
叼烟扛炮1 小时前
Linux 学习笔记(五十六):IO 多路复用初探——select 的“三宗罪”
linux·服务器·数据库·笔记·学习·php
.痞老板.4 小时前
mysql初阶--数据库基础
数据库·mysql
城北徐宫5 小时前
MySQL约束条件一览
数据库·mysql
ClouGence7 小时前
数据库变更审批困局,被这个开源工具解决了
数据库·开源
TDengine (老段)8 小时前
TDengine IDMP 十大实用功能(9)
大数据·数据库·人工智能·物联网·时序数据库·tdengine·idmp
starrocks_stella9 小时前
EMR Serverless StarRocks Object Table:用 SQL 连接 OSS 文件与多模态 AI
数据库
这个DBA有点耶9 小时前
以为自增ID只是有空洞?聊聊双主架构下无声的“数据覆盖”
数据库·mysql·dba
钱栈up10 小时前
内网全断,怎么核实高炉和烧结系统的数据库对接信息
数据库
weavecodes10 小时前
双层缓存与权限实时生效:织码在线教育系统的 Caffeine + Redis 设计
数据库
bksczm10 小时前
InnoDB 页结构详解:页类型、页头页尾、数据行与页目录
数据库·mysql