mongoDB [命令行指令] 学习

2019-12-08  本文已影响0人  squidbrother
数据库的概念

官网宣传描述:
MongoDB是一个通用的、基于文档的分布式数据库,它是为现代应用程序开发人员和云时代而构建的。没有数据库能让你更有效率。

1.数据库与文件的差异
数据库有表,行,列,更加方便操作数据
数据库提供了接口,方便nodejs php java .net使用 增删查改 功能

2.传统数据库与非关系型数据库
NoSQL - not only sql 20世纪80年代出现,现在大数据时代又被重视

3.使用场景
数据库高并发与高读写的情况下
改良数据高存储与访问的需求
数据高可扩展性时候

4.数据库格式差异
Nosql是一个key value形式

5.Nosql存储数据库类型
key-value形式

6.为什么选择mongoDB
介于关系型数据库与非关系型数据库之间的产品
是非关系型数据库中功能最丰富,最像关系型数据库的
几乎可以实现类似关系型数据库单表查询的绝大部分功能
还支持对数据建立索引
特点:高性能,易部署,存储数据非常方便

安装与配置

官网下载

1.安装
根据操作系统、安装包类型、版本 下载包

2.安装完毕后,配置环境变量
找到mongoDB安装的bin目录,将其路径贴到 我的电脑 高级 环境变量 path中 添加在后面

3.检测全局环境配置完毕与否
win+r cmd进入命令行,输入 mongo 回车

启动与访问

自定义一个文件夹,用来存储mongoDB数据, 放置在非操作系统盘符,防止重装系统,删除数据库
如:
D:\mysoft\myMongoLib

mongod --dbpath 存储mongoDB数据文件路径
mongod --dbpath 存储mongoDB数据文件路径 --port xxxx
mongo

会显示连接的URL地址信息: 如 mongodb://127.0.0.1:27017/ 后面可以加上库名称

mongo IP地址:27017
开机启动

mongoDB 4.0+ 会自动在 任务管理器 - 服务 中开启,无需开机手动启动数据库客户端

常用操作指令 / sql常用指令

【增】
先切换库,再增加表下对应数据 (有了数据,自然表也有了,库如果之前没有,也有了;前提要先use下)
use 库名
db.表名.insert({ 'name':'zhangsan' })

【查】
show dbsshow databases --- 显示所有的库
db --- 显示当前所在数据库
use 库名 --- 切换库
show collections --- 显示当前库下所有的表
db.表名.find() --- 显示某一张表所有的数据
db.表名.find().count() --- 显示当前所有数据的条数

【查询后修饰结果】

【改】
对张三增加一个年龄
db.表名.update({ 'name':'zhangsan' },{$set:{'age':11}})
修改张三的名字
db.表名.update({'name':'zhangsan'},{$set:{'name':'lisi'}})

【删】

索引操作与查询时间

大批量数据查询,需要消耗时间,如果查询的属性,正好有被用于索引,则查询速度会更加迅速

【获取索引】
db.表名.getIndexes() --- 获取表内的所有索引
【添加索引】
db.表名.ensureIndex({'name':1}) --- 为当前表的name字段,增加索引
db.表名.ensureIndex({"userId":1},{"unique":true}); --- 为当前表的userId字段,增加索引(且是唯一的)
【删除索引】
db.表名.dropIndex({'name':1}) --- 删除当前表的name字段索引
【查询时间】
db.表名.find({"name":"zhangsan"}).explain("executionStats") --- 查询name为zhangsan的数据 所消耗的时间
通过executionTimeMillis看反应时间(单位毫秒)

上一篇 下一篇

猜你喜欢

热点阅读