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查询

商品列表

视频列表

朋友圈列表

微博列表

搜索功能

相关推荐
odoo中国6 分钟前
深度学习 Deep Learning 第15章 表示学习
人工智能·深度学习·学习·表示学习
电星托马斯14 分钟前
C++中顺序容器vector、list和deque的使用方法
linux·c语言·c++·windows·笔记·学习·程序人生
清晨朝暮21 分钟前
【算法学习计划】贪心算法(下)
学习
yanxy5122 小时前
【TS学习】(18)分发逆变推断
前端·学习·typescript
Hellyc2 小时前
SpringMVC响应数据:页面跳转与回写数据
java·前端·学习
Qian_ShouYi2 小时前
MATLAB 代码学习
学习·算法·matlab
进取星辰2 小时前
PyTorch 深度学习实战(32):多模态学习与CLIP模型
pytorch·深度学习·学习
云上艺旅2 小时前
K8S学习之基础七十二:Ingress基于Https代理pod
学习·云原生·容器·https·kubernetes
能来帮帮蒟蒻吗3 小时前
GO语言学习(16)Gin后端框架
开发语言·笔记·学习·golang·gin
计算机毕设定制辅导-无忧学长3 小时前
HTML 性能优化之路:学习进度与优化策略(二)
学习·性能优化·html