当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/395413.html

相关文章:

  • 端口占用快速解决
  • 普中51单片机:矩阵按键扫描与应用详解(五)
  • SQLite Glob 子句
  • Redis基础教程(十七):Redis数据备份与恢复
  • 基于FPGA的千兆以太网设计(1)----大白话解释什么是以太网
  • wordpress的restfull API使用教程,之如何用postman调试API,以便能使用vue等前端框架开发主题
  • 刷题刷题刷题
  • 【Spring Boot】统一异常处理
  • java —— tomcat 部署项目
  • 数据库的优点和缺点分别是什么
  • 考研数学暑期规划|50天吃透1000+660!
  • GPT-5 一年半后发布?我们可能所受影响与应用领域
  • CSS上下悬浮特效
  • Knife4j的原理及应用详解(三)
  • Android约束布局的概念与属性(1)
  • 阿里巴巴开源自然语音交互框架;在抱抱脸上使用LivePortrait;58种提示技术的工具库
  • 《算法笔记》总结No.5——递归
  • 鸿蒙小练习
  • 谷粒商城-个人笔记(集群部署篇二)
  • Python面试题-7
  • 微信⼩程序的电影推荐系统-计算机毕业设计源码76756
  • 理解与解读李彦宏在2024世界人工智能大会的发言:应用优先于技术
  • 数字化打破传统,引领企业跨界经营与行业生态盈利
  • 【链表】- 链表相交
  • 【python 学习】快速了解python内置类型
  • npm ERR! code ENOTEMPTY npm ERR! syscall rename npm ERR!
  • 智能井盖采集装置 开启井下安全新篇章
  • C# AGV小车通讯开发的方法
  • 01-图像基础-颜色空间
  • 双向链表+Map实现LRU