前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你要懂的的数据库知识(简单,详细)

你要懂的的数据库知识(简单,详细)

作者头像
zhouzhouya
发布2023-11-01 14:16:50
1900
发布2023-11-01 14:16:50
举报
文章被收录于专栏:一名前端开发一名前端开发

作为前端,光知道前端那些知识已经远远不够了,也应该了解一些数据库相关的知识点。

下载MongoDB

地址:www.mongodb.com/try MongoDB的版本偶数版本为稳定版,奇数版本为开发版。 MongoDB对于32位系统支持不佳,所以3.2版本以后没有再对32位系统的支持。

MongoDB的安装

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

至此MongoDB安装完毕

启动MongoDB

将MongoDB的bin目录添加到path下

image.png
image.png
image.png
image.png
  • 在C盘根目录下创建data文件夹,在data下创建db文件夹
  • 打开CMD命令行窗口,输入mongod
  • 32位系统第一次启动:– mongod --storageEngine=mmapv1

配置mongo的windows服务

在mongo安装目录的server下3.x目录下创建mongod.cfg文件,并添加如下内容 • 管理员模式打开控制台,并输入如下指令 • 删除服务

代码语言:javascript
复制
systemLog:  
destination: file  
path: c:\data\log\mongod.log  
storage:  
dbPath: c:\data\db  
sc.exe create MongoDB binPath= "\"mongo bin路径\mongod.exe\" --service --  
config=\"mongo路径\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"  
sc delete MongoDB

关闭MongoDB

• 打开新的命令行窗口 • 登录服务器 – mongo • 切换管理员用户 – admin • 关闭数据库 – db.shutdownServer()

参数说明 --help –h 返回基本帮助和用法文本 --version 返回MongoDB的版本 --config<文件名> -f<文件名> 指定包含运行时配置的配置文件 --verbose -v 增加发送到控制台日志的数量 --quiet 减少发送到控制台日志的数量 --port<端口> 指定mongod的端口,默认27017 --bind_ip<端口> 指定id地址 --maxConns<编号> 指定链接的最大数 --logpath<路径> 指定日志文件的路径 --auth 启用远程主机的身份验证 --dbpath<路径> 指定数据库实例的路径 --nohttpinterface 禁用HTTP接口 --nojournal 禁用日志 --noprealloc 禁止预分配数据文件 --repair 在所有数据库上运行修复程序

Mongo Shell

登录mongo shell – mongo • 命令 – help 语法帮助 – use 更改当前操作的数据库 – show 根据参数显示列表 • dbs 显示数据库列表 • collections 显示当前数据库的集合 • profile 显示时间超过1毫秒的system.profile条目 • log[name] 显示登录记忆的最后一段 – exit 退出数据库 – load(script) 加载js文件db.auth(username , password)在当前数据库做身份验证

三个概念

• 数据库(database) – 数据库是一个仓库,在仓库中可以存放集合。 • 集合(collection) – 集合类似于数组,在集合中可以存放文档。 • 文档(document) – 文档数据库中的最小单位,我们存储和操作的内容都是文档。

基本概念

• 文档(document) – 类似于JS中的对象,在MongoDB中每一条数据都是一个文档 • 集合(collection) – 集合就是一组文档,也就是集合是用来存放文档的 – 集合中存储的文档可以是各种各样的,没有格式要求 • 多个文档组成集合,多个集合组成数据库

创建数据库

• use 数据库名 – 使用use时,如果数据库存在则会进入到相应的数据库,如果不存在则会自动创建 – 一旦进入数据库,则可以使用db来引用当前库 • db.collection.insert(文档) – 向集合中插入文档,如果集合不存在则创建 • db.createCollection() – 创建一个新的集合 • db.collection.drop() – 删除集合

文档的增删改查

• 插入文档 – db.collection.insert () • 查询文档 – db.collection.find () • 删除文档 – db.collection.remove() • 修改文档 – db.collection.update()

添加文档

• db.collection.insert (文档对象) – insert()可以用于向集合中添加一个或多个文档,可以传递一个对象,或一个数组。 – 可以将对象或数组中的对象添加进集合中 – 添加时如果集合或数据库不存在,会自动创建 – 插入的文档对象会默认添加_id属性,这个属性对应一个唯一的id,是文档的唯一标识

删除文档

• db.collection.remove() – remove()可以用来移除指定文档对象 – 方法接收一个查询文档作为参数,只有符合条件的文档才会被删除 – 删除数据是永久的,不能撤销 • db.collection.drop() – 删除集合

修改文档

• db.collection.update() • 替换文档 – 可以在update()中传递两个参数,一个是查询文档,一个是新的文档,这样符和条件的文档将会被新文档所替换 – update()的第三个参数,用来指定是否使用upsert,默认为false – update()的第四个参数,用来指定是否同时修改多个文档,默认为false

修改器

• 使用update会将整个文档替换,但是大部分情况下我们是不需要这么做的 • 如果只需要对文档中的一部分进行更新时,可以使用更新修改器来进行。 • 我们将要学习以下几个修改器 – set、set、 set、unset 、inc、inc、inc、push、$addToSet

$set

$set用来指定一个字段的值,如果这个字段不存在,则创建它。

语法: – db.test_coll.update(查询对象, {$set:更新对象});

$unset

$unset可以用来删除文档中一个不需要的字段, 用法和set类似。

$inc

• inc用来增加已有键的值,或者该键不存在那就创建一个•inc用来增加已有键的值,或者该键不存在那就创建一个 • inc用来增加已有键的值,或者该键不存在那就创建一个•inc只能用于Number类型的值

查询文档

• find()、findOne() – MongoDB使用find()来对文档进行查询 – find()需要一个查询文档作为参数,如果不传 该参数,则会返回集合中的所有元素。 – 可以将查询条件以键值对的形式添加到查询文档中 – 查询条件 • lt、lt、lt、lte、gt、gt、gt、gte、ne、ne、ne、or、in、in、in、nin、 not、not、not、exists、$and

至此数据库的知识介绍完毕

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-11-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 下载MongoDB
  • MongoDB的安装
  • 启动MongoDB
  • 配置mongo的windows服务
  • 关闭MongoDB
  • Mongo Shell
  • 三个概念
    • 基本概念
    • 创建数据库
    • 文档的增删改查
    • 添加文档
    • 删除文档
    • 修改文档
    • 修改器
      • $set
        • $unset
          • $inc
          • 查询文档
          相关产品与服务
          数据库
          云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档