MongoDB 菜鸟教程,让你快速掌握

1. MongoDB 简介

MongoDB 是一个基于分布式文件存储的 NoSQL 数据库。它支持的数据结构非常松散,不需要像关系型数据库一样先定义数据的结构,再进行数据存储。

作为一种 NoSQL 数据库,MongoDB 常用于大数据存储,Web 应用和实时数据分析等领域。与其它 NoSQL 数据库相比,MongoDB 有着更为灵活的数据模型和更好的性能。

以下是 MongoDB 的一些主要特点:

面向文档:使用 BSON 格式存储数据,非常适合文档型数据存储。

动态模式:文档可以有不同的结构,没有必要先定义数据结构。

高性能:由于 MongoDB 使用的是面向内存的架构,其读写性能非常优异。

分布式扩展:支持水平扩展,能够自动将数据分布到多台服务器上。

查询语言丰富:支持丰富多样的查询语言,包括数组、范围、正则表达式、引用等。

2. MongoDB 安装

2.1 下载 MongoDB

首先到 MongoDB 的官网 https://www.mongodb.com/ 下载最新版本的 MongoDB。

在下载页面中,选择适合自己的 MongoDB 版本即可。

需要注意的是: MongoDB 分为社区版和企业版,如果只是做实验的话,推荐选择社区版。

下载完成后将安装包解压到任意位置,例如我将其解压至 D:\ProgramFiles\MongoDB 下。

2.2 启动 MongoDB

启动 MongoDB 首先需要创建一个数据存储目录,例如在 D:\ProgramFiles\MongoDB 下创建一个 data 文件夹,再在其中创建一个名为 db 的文件夹,可以通过以下命令创建:

mkdir -p D:\ProgramFiles\MongoDB\data\db

接下来在 MongoDB 的 bin 目录中运行 mongod.exe 并设置数据存储目录:

D:\ProgramFiles\MongoDB\bin\mongod.exe --dbpath=D:\ProgramFiles\MongoDB\data\db

运行上述命令后,我们就成功启动了 MongoDB。

3. MongoDB 常用命令

3.1 数据库操作

MongoDB 是一个面向非关系型数据库的 NoSQL 数据库,提供了非常方便的命令来进行数据库的管理。

下面是 MongoDB 的常用命令:

show dbs:显示所有数据库。

use db_name:切换至指定的数据库。

db.books.insertOne({ title: "MongoDB 教程", author: "菜鸟教程", tags: ["MongoDB", "数据库"], pubtime: new Date()}):向指定的数据库中插入一条数据。

db.books.find():查询指定数据库中所有数据。

db.books.updateOne({ title: "MongoDB 教程" }, { $set: { author: "runoob" } }):更新指定数据库中的一条数据。

db.books.deleteOne({ title: "MongoDB 教程" }):删除指定数据库中的一条数据。

3.2 集合操作

在 MongoDB 中,一个数据库可以有多个集合,每个集合相当于一个关系型数据库中的表。

下面是 MongoDB 集合的常用命令:

show collections:显示当前数据库的所有集合。

db.createCollection("books"):在当前数据库中创建一个名为 books 的集合。

db.books.find({ title: "MongoDB 教程" }):在指定集合中查询符合条件的数据。

db.books.updateOne({ title: "MongoDB 教程" }, { $set: { author: "runoob" } }):更新指定集合中的一条数据。

db.books.deleteOne({ title: "MongoDB 教程" }):删除指定集合中的一条数据。

3.3 索引操作

在 MongoDB 中,对于一些较大的集合创建索引可以大大提高数据查询的效率。

下面是 MongoDB 索引的常用命令:

db.books.createIndex({ title: 1 }):为指定集合中的 title 字段创建一个升序索引。

db.books.createIndex({ pubtime: -1 }):为指定集合中的 pubtime 字段创建一个降序索引。

db.books.getIndexes():查询指定集合的所有索引。

db.books.dropIndex("title_1"):删除指定集合的指定索引。

4. MongoDB 数据备份与恢复

备份和恢复是数据库管理的非常重要的一部分,MongoDB 的备份和恢复非常简单。

4.1 数据备份

使用 mongodump 工具可以对数据库进行备份。

mongodump --host=127.0.0.1 --port=27017 --out=D:\backups

上述命令的含义是:备份 MongoDB 已有的所有数据库,输出备份文件至 D:\backups 目录下。

4.2 数据恢复

使用 mongorestore 工具可以将备份恢复至 MongoDB 中。

mongorestore --host=127.0.0.1 --port=27017 D:\backups

上述命令的含义是:将 D:\backups 目录下的文件恢复至 MongoDB 中。

5. MongoDB 驱动

为在应用程序中连接 MongoDB,你必须使用适当的 MongoDB 驱动程序。

MongoDB 驱动程序支持多种编程语言,例如 Python、Java、Node.js 等,你可以根据需求选择相应的驱动程序。

5.1 Node.js 驱动

MongoDB 提供了官方的 Node.js 驱动程序,使用 npm 命令即可安装:

npm install mongodb

以下是 Node.js 驱动程序的一个简单示例:

const MongoClient = require('mongodb').MongoClient;

const url = 'mongodb://localhost:27017';

MongoClient.connect(url, { useNewUrlParser: true })

.then(client => {

console.log('数据库已连接');

const db = client.db('mydb');

// 将数据插入集合

db.collection('books').insertOne({ title: 'MongoDB 教程', author: '菜鸟教程', tags: ['MongoDB', '数据库'], pubtime: new Date() }, (err, result) => {

if (err) throw err;

console.log('插入的文档数量为:', result.insertedCount);

client.close();

});

})

.catch(err => {

console.log(err);

});

6. 总结

本文介绍了 MongoDB 的一些基本概念、安装和常用命令、备份与恢复等知识点,还介绍了 MongoDB 驱动程序的基本用法。

对于想要了解分布式文件存储、NoSQL 数据库等方面知识的读者来说,本文可以作为一个基础入门指南。

数据库标签