mongoDB非关系型数据库学习记录

一、简介

1.1Mongodb是什么

MongoDB是一个基于分布式文件存储的数据库,官方地址https://www.mongodb.com/

1.2数据库是什么

数据库(DataBase)是按照数据结构来组织、存储和管理数据的应用程序

1.3数据库的作用

数据库的主要作用就是管理数据,对数据进行增©、删(d)、改(u)、查®

1.4数据库管理数据的特点

相比于纯文件管理数据,数据库管理数据有如下特点:

  1. 速度更快
  2. 扩展性更强
  3. 安全性更强

二、核心概念

Mongodb中有三个重要概念需要掌握

  • 数据库(database)
  • 集合(collection)数据库是一个数据仓库,数据库服务下可以创建很多数据库,数据库中可以存放很多集合,集合类似于JS中的数组,在集合中可以存放很多文档
  • 文档(document)文档是数据库中的最小单位,类似于JS中的对象

    大家可以通过JSON文件来理解Mongodb中的概念
  • 一个JSON文件好比是一个**数据库,**一个Mongodb服务下可以有N个数据库
  • JSON文件中的一级属性 的数组值好比是集合
  • 数组中的对象好比是文档
  • 对象中的属性有时也称之为字段

mongoDB的下载安装与启动

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

建议选择zip类型,通用性更强

配置步骤如下:

1>将压缩包移动到C:\ProgramFiles下,然后解压

2>创建C:\data\db目录,mongodb会将数据默认保存在这个文件夹

3>以mongodb中bin目录作为工作目录,启动命令行

运行命令mongod

看到最后的waiting for connections则表明服务已经启动成功

注意:

  • 为了方便后续方便使用mongod命令,可以将bin目录配置到环境变量Path中
  • 千万不要选中服务端窗口的内容,选中会停止服务,可以敲回车耳汉消选中

数据库与集合命令

4.1数据库命令

  1. 显示所有的数据库
shell 复制代码
show dbs
  1. 切换到指定的数据库,如果数据库不存在会自动创建数据库
shell 复制代码
use 数据库名
  1. 显示当前所在的数据库
shell 复制代码
db
  1. 删除当前数据库
shell 复制代码
use 库名
db.dropDatabase()

4.2集合命令

  1. 创建集合
shell 复制代码
db.createCollection('集合名称')
  1. 显示当前数据库中的所有集合
shell 复制代码
show collections
  1. 删除某个集合
shell 复制代码
db.集合名.drop()
  1. 重命名集合
shell 复制代码
db.集合名.renameCollection('newName')

4.3文档命令

  1. 插入文档
shell 复制代码
db.集合名.insert(文档对象);
  1. 查询文档
shell 复制代码
db.集合名.find(查询条件)

_id是mongodb自动生成的唯一编号,用来唯一标识文档 3. 更新文档

shell 复制代码
db.集合名.update(查询条件,新的文档)
db.集合名.update({name:'张三'},{$set:{age:19}})
  1. 删除文档
shell 复制代码
db.集合名.remove(查询条件)

4.4 应用场景

4.4.1新增

用户注册

发布视频

发布商品

发朋友圈

发评论

发微博

发弹幕

4.4.2删除

删除评论

删除商品

删除文章

删除视频

删除微博

4.4.3更新

更新个人信息

修改商品价格

修改文章内容

4.4.4查询

商品列表

视频列表

朋友圈列表

微博列表

搜索功能

相关推荐
好好研究13 分钟前
学习栈和队列的插入和删除操作
数据结构·学习
新中地GIS开发老师1 小时前
新发布:26考研院校和专业大纲
学习·考研·arcgis·大学生·遥感·gis开发·地理信息科学
SH11HF2 小时前
小菜狗的云计算之旅,学习了解rsync+sersync实现数据实时同步(详细操作步骤)
学习·云计算
Frank学习路上2 小时前
【IOS】XCode创建firstapp并运行(成为IOS开发者)
开发语言·学习·ios·cocoa·xcode
Chef_Chen3 小时前
从0开始学习计算机视觉--Day07--神经网络
神经网络·学习·计算机视觉
X_StarX5 小时前
【Unity笔记02】订阅事件-自动开门
笔记·学习·unity·游戏引擎·游戏开发·大学生
MingYue_SSS5 小时前
开关电源抄板学习
经验分享·笔记·嵌入式硬件·学习
weixin_437398216 小时前
转Go学习笔记(2)进阶
服务器·笔记·后端·学习·架构·golang
慕y2746 小时前
Java学习第十六部分——JUnit框架
java·开发语言·学习
peace..7 小时前
温湿度变送器与电脑进行485通讯连接并显示在触摸屏中(mcgs)
经验分享·学习·其他