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

相关推荐
2401_8470565530 分钟前
Altium Designer脚本工具定制
网络·数据库
神仙别闹40 分钟前
基于Python+SQLite的课程管理系统
数据库·sqlite
掐指一算乀缺钱43 分钟前
SpringBoot 数据库表结构文档生成
java·数据库·spring boot·后端·spring
少年负剑去1 小时前
django分发路由
数据库·django·sqlite
飞翔的佩奇1 小时前
xxl-job适配sqlite本地数据库及mysql数据库。可根据配置指定使用哪种数据库。
数据库·spring boot·mysql·sqlite·xxl-job·任务调度
吱吱鼠叔2 小时前
MATLAB数据文件读写:1.格式化读写文件
前端·数据库·matlab
小哇6662 小时前
spring-TransactionTemplate 编程式事务
数据库·spring
如意机反光镜裸2 小时前
CentOS7安装MySQL教程
数据库·mysql
冰镇毛衣2 小时前
1.4 MySql配置文件
数据库·mysql
攻城狮的梦2 小时前
redis集群模式连接
数据库·redis·缓存