MongoDB数据库入门

举报
俺想吃蜂蜜 发表于 2022/04/13 08:23:39 2022/04/13
【摘要】 目的理解NoSQL数据库和关系型数据库的区别;熟练使用MongoDB操作常用的Shell命令; 平台操作系统:LinuxMongoDB版本: 3.2.6或以上版本 内容和要求1.NoSQL数据库和关系型数据库的区别<1>NoSQL使用简单,开源,成本低;关系型数据库成本高;<2>Nosql不适用SQL,关系型数据库使用;<3>NoSQL易扩展,关系型数据库不易扩展。<4>NoSQL存储方式...

目的

  1. 理解NoSQL数据库和关系型数据库的区别;

  2. 熟练使用MongoDB操作常用的Shell命令;

平台

操作系统:Linux

MongoDB版本: 3.2.6或以上版本

内容和要求

1.NoSQL数据库和关系型数据库的区别

<1>NoSQL使用简单,开源,成本低;关系型数据库成本高;

<2>Nosql不适用SQL,关系型数据库使用;

<3>NoSQL易扩展,关系型数据库不易扩展。

<4>NoSQL存储方式多,比如key-value(键值对)形式、图结构形式、文档形式等;关系型数据库采用二维表结构的形式对数据进行持久存储。

本次使用的MongoDB就是文档数据库。

2.安装MongoDB

提供两种安装方式,任选一种。

(1)离线安装。

软件下载地址https://www.mongodb.com/try/download/community

离线安装参考教程 http://dblab.xmu.edu.cn/blog/868-2/

(2)在线安装

在线安装参考教程 http://dblab.xmu.edu.cn/blog/mongodb/

3.MongoDB数据库练习

下面以一个School数据库为例,在School数据库中创建一个集合student,并对student集合中的数据进行增删改查基本操作(集合Collection相当于关系型数据库中的表table)。

Student表

sno sname ssex sage sdept
95001 liyong boy 20 CS
95002 liuchen girl 19 IS
95003 wangmin girl 18 MA

根据上面给出的表格,用MongoDB设计student学生表格。

先切换到school数据库

use School

创建Collection

db.createCollection('teacher')

插入数据

两种方式:insert和save

image.png

<1>设计完后,用find指令浏览表的所有数据。

查找数据:

 db.集合名称.find()

image.png

image.png

image.png

<2>查询学号为95002 的所有信息。

image.png

<3>删除姓名为liuchen的数据

db.集合名称.remove()

image.png

<4>将学号为95001的年龄改为22岁

db.集合名称.update()

image.png

4.MongoDB启动报错

错误:

image.png

错误原因:

mongodb非正常关闭后,再次启动会产生about to fork child process, waiting until server is ready for connection此异常。

解决办法:

删除mongodb 的db目录下的mongod.lock文件,重启mongodb即可。该文件会生成在日志 文件下(跟bin目录同级),cd 日志文件后 rm指令删除mongod.lock文件

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。