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的深入学习,你将能够充分利用其优势,为你的项目带来更高的性能和可靠性。

相关推荐
4t4run21 小时前
28、Linux 系统定时任务
linux·运维·服务器
nvd1121 小时前
深入分析:Pytest异步测试中的数据库会话事件循环问题
数据库·pytest
appearappear21 小时前
如何安全批量更新数据库某个字段
数据库
~黄夫人~21 小时前
Ansible 自动化运维:从 “手动输密码” 到 “一键免密管理”
linux·运维·自动化·ansible
cui__OaO21 小时前
Linux驱动--基于驱动设备分离的按键中断驱动
linux·运维·服务器·嵌入式
星期五不见面21 小时前
虚拟机使用外部WPN网络
linux
OnlyEasyCode1 天前
Linux下载Navicat、特定版本Mysql
linux·运维·服务器
·云扬·1 天前
MySQL 常见存储引擎详解及面试高频考点
数据库·mysql·面试
羊小猪~~1 天前
【QT】--文件操作
前端·数据库·c++·后端·qt·qt6.3
宇宙帅猴1 天前
【Ubuntu踩坑及解决方案(一)】
linux·运维·ubuntu·go