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

相关推荐
Mr.朱鹏3 小时前
Linux 服务器 LVM 根分区在线动态扩容
linux·服务器·数据库
摇滚侠3 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 数据库初始化机制 阅读笔记 36
数据库·spring boot·笔记
qiuhaipeng13 小时前
Claude code 升级后上下文长度变短问题
java·前端·数据库
wxwx_bscxy3224 小时前
基于Python新冠疫情可视化分析系统的设计与实现
java·数据库·spring boot·python·微信小程序·sqlite
剑之所向5 小时前
.NET 官方`System.Threading.Channels`
前端·javascript·数据库
词却5 小时前
数据库基础:DQL 数据查询语言
数据库·oracle
昌原的儿子LEO7 小时前
Linux IO多路复用与SQLite数据库核心知识点总结
linux·数据库·oracle
山岚的运维笔记8 小时前
mysql 专业笔记 -- 第 8 章:使用变量
运维·数据库·笔记·后端·学习·mysql·dba
聚美智数8 小时前
网安查询-备案查询-网络安全查询API接口介绍
网络·数据库·web安全
坐吃山猪8 小时前
【多线程】Semaphore使用
java·数据库·oracle·多线程