MongoDB在Linux下的安装与基本操作指南

MongoDB是一款高性能、开源的NoSQL数据库系统,特别适合处理大规模数据存储应用。本文将详细介绍MongoDB在Linux系统(以Ubuntu为例)上的安装步骤,以及如何进行基本的数据库操作,帮助你快速上手MongoDB。

一、在Linux上安装MongoDB

1.1 添加MongoDB仓库

首先,我们需要添加MongoDB的APT仓库到Ubuntu系统中。

Bash

深色版本

复制代码
1sudo apt-get update
2sudo apt-get install -y gnupg
3sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
4echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list

注意:以上命令使用的是MongoDB 3.6版本的仓库。如果你想安装其他版本,你需要修改仓库地址中的版本号。

1.2 更新系统包列表

使用下面的命令来更新你的系统包列表:

Bash

深色版本

复制代码
1sudo apt-get update

1.3 安装MongoDB

接下来,使用以下命令来安装MongoDB:

Bash

深色版本

复制代码
1sudo apt-get install -y mongodb-org

1.4 启动MongoDB服务

安装完成后,启动MongoDB服务:

Bash

深色版本

复制代码
1sudo systemctl start mongod

1.5 设置MongoDB开机自启

为了让MongoDB在系统启动时自动启动,执行:

Bash

深色版本

复制代码
1sudo systemctl enable mongod

1.6 验证MongoDB服务状态

使用以下命令检查MongoDB服务是否正在运行:

Bash

深色版本

复制代码
1sudo systemctl status mongod

如果一切正常,你将看到MongoDB服务正在运行的信息。

二、MongoDB基本操作

2.1 连接到MongoDB

MongoDB默认监听在本地的27017端口。在命令行中,使用以下命令连接到MongoDB:

Bash

深色版本

复制代码
1mongo

2.2 显示所有数据库

一旦连接到MongoDB,你可以使用show dbs命令来查看当前系统中所有的数据库:

Bash

深色版本

复制代码
1show dbs

2.3 创建数据库

MongoDB采用"创建即使用"的方式来创建数据库,当你在一个尚未存在的数据库上执行插入、更新或查询操作时,MongoDB会自动创建该数据库。例如,创建一个名为test的数据库:

Bash

深色版本

复制代码
1use test

2.4 插入文档

在MongoDB中,数据是以文档的形式存储的,文档由字段和值组成。插入一条文档到test数据库的users集合中:

Bash

深色版本

复制代码
1db.users.insert({ name: "John Doe", age: 30 })

2.5 查询文档

查询users集合中所有的文档:

Bash

深色版本

复制代码
1db.users.find()

查询年龄为30的用户:

Bash

深色版本

复制代码
1db.users.find({ age: 30 })

2.6 更新文档

更新users集合中名字为John Doe的用户的年龄:

Bash

深色版本

复制代码
1db.users.update({ name: "John Doe" }, { $set: { age: 31 } })

2.7 删除文档

删除users集合中名字为John Doe的用户:

Bash

深色版本

复制代码
1db.users.remove({ name: "John Doe" })

2.8 删除数据库

删除test数据库:

Bash

深色版本

复制代码
1db.dropDatabase()

三、结束语

通过本文,你已经学会了如何在Linux环境下安装MongoDB,以及如何进行基本的数据库操作。MongoDB提供了丰富的功能和灵活的数据模型,非常适合处理大规模的、非结构化或半结构化的数据。随着对MongoDB的深入学习,你将能够充分利用其优势,为你的项目带来更高的性能和可靠性。

相关推荐
瀚高PG实验室5 分钟前
瀚高数据库如何克隆表
数据库·sql·postgresql·瀚高数据库
闲云野鹤在人间11 分钟前
Docker入门|第2章 容器架构详解
linux·运维·docker·容器·架构·云计算
张小姐的猫16 分钟前
【AI大模型接入SDK】 —— SQLite上手
linux·开发语言·c++·人工智能·python·log4j
雨辰AI18 分钟前
信创多租户项目 9 大踩坑|数据隔离失效、权限越权终极解决(金仓 / 达梦 / 高斯全库适配)
java·大数据·数据库·后端
严同学正在努力31 分钟前
认识 SQL Server 的 T-SQL 语法
数据库·人工智能·ai·oracle·dba
第十人i32 分钟前
Linux 更换系统软件源及 Docker 安装脚本
linux
m0_7527531235 分钟前
Linux‑SQLite3 数据库
linux
渡我白衣36 分钟前
Util工具类功能设计与类设计
linux·服务器·网络·c++·人工智能·目标检测·机器学习
EatFan37 分钟前
我为什么把患者与病例从 1:1 改成 1:N?一次真实数据库模型重构记录
数据库·后端·重构·健康医疗·全栈
小此方38 分钟前
Linux网络(十一):HTTP重定向与请求方法详解:从301/302状态码到GET/POST,再认识Fiddler抓包
linux·网络·http