NoSQLMongoDB数据库基础操作

前面的话

  为了保存网站的用户数据和作业数据,平日需要一个数据库。MongoDB和Node.js特别般配,因为Mongodb是按照文档的非关系型数据库,文档是按BSON(JSON的轻量化二进制格式)存储的,增删改查等管理数据库的下令和JavaScript语法很像。本文将详细介绍MongoDB数据库

 

数据库

  数据库,顾名思义,是数据存储的堆栈,首要功用有多少个

  1、有社团地存放数据

  与在磁盘上和谐存放文件不同,数据库替用户协会了数额的存储格局,用户只需要遵照数据库提供的接口将数据写入,数据便会按部就班专业的格式被储存起来

  2、遵照不同的要求举行询问

  数据库不仅要能写入数据,还扶助数据查询,并且可以遵照不同的需要举行查询。因为存储是有团体的,因而查询上得以更规范化,查询速度也会快很多

  不同的数据库的分别就是存放数据的协会不同,同时提供了不同品类的查询。用户能够依据自己的需求,选拔适合的数据库

【分类】

  数据库的分类有诸多种,按照对SQL语言的支撑,可以分为以下二种:

  1、SQL数据库,比如Oracle、Mysql等

  2、NoSQL数据库,比如Redis、MongoDB等

  随着在规模互联网使用的产出,传统的SQL数据库际遇了一些企划上的流弊。比如,SQL对表的定义使应用不够灵活,横向扩充相比较不方便。与局部特性难以满意相相比较,反而是SQL数据库的多多特色没有用武之地。比如,在诸多场合下,及时存取并不是必备的,也从没专门多的作业需求,而这个额外的特性消耗着SQL数据库的特性

  由此NoSQL数据库应运而生,NoSQL全称是Not Only
SQL,意即”不仅仅是SQL”。但实际上,绝大多数NoSQL数据库都放任了对SQL语言的支撑。与SQL关系型数据库相相比较,NoSQL非关系型数据库大多遗弃了有些风味。比如,丢弃了实时一致性、对事情的完整扶助以及多表查询等。听起来缺点很多,但收益也分明,NoSQL数据库简单方便、方便扩充,并且有更好的习性

 

概述

  MongoDB是一个开源的NoSQL数据库,在境内被称为芒果数据库。Linux、Apache、MySQL和PHP组成了分外出名的LAMP架构。现在,有人指出将LAMP中的代表M的MySQL替换为MongoDB

  NoSQL数据库有过多,为啥要采用MongoDB呢?

  MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写,旨在为
WEB
应用提供可扩展的高性能数据存储解决方案。MongoDB使用集合(collection)和文档(document)来讲述和仓储数据,集合(collection)就一定于表,文档(document)相当于行,字段相当于列,不像MySQL之类的关系型数据库,表结构是永恒的,比如某一行由若干列组成,行行都一律,而MongoDB不同,一个集合里的四个文档可以有不同的布局,更灵活一些

  MongoDB有投机很显著的特色,统计起来有以下4条

  1、没有表结构的限量

  传统SQL数据库中,对每张表都急需定义表结构。假诺有新的仓储需求,往往需要添加新的字段,更改表结构。在一部分场地下,会显得很不便宜,而对此MongoDB,那不再是题材。因为它从未表结构这个概念,在选拔一张表从前,不需要对这张表举办任何初叶化操作。MongoDB的这种特征对便捷支付和多变的事务需求是很适合的

  2、完全的目录帮忙

  有些NoSQL数据库,比如redis,它是内存数据库,速度很快。不过,做为键值数据库,只帮忙一种按键查询的模式。灵活性、使用范围和易用性都遭到震慑;再比如说hbase,写入速度很快。不过,同样查询受限,它只补助单索引,二级索引需要协调实现

  而MongoDB匡助单键索引、多键索引、全文索引和地理地点索引。所以MongoDB是职能特别健全的NoSQL数据库,也被称作最相近关全面据库的非关全面据库

  3、卓越的数码安全性和便利的范围扩展

  MongoDB使用复制集做多副本存储,以保证数据的安全性。同时,MongoDB内置的分片技术可以很有益地开展多少规模的扩大。分片技术是很流行的一个特性,它富含了自行数据接口,动态扩容和缩容等一文山会海在任何数据库中需要大量人工操作的干活,同时提供了对数据库的合并访问入口,不需要在应用层再展开分发,显然滑坡了人工成本

  4、完善的文档协助和驱动帮助

 

安装

  首先,在官网的下载页面选用恰当的MongoDB版本进行下载

NoSQL 1

  然后,一步一步举办安装即可

NoSQL 2

NoSQL 3

  默认状况下,安装到C盘的Program Files文件夹下的MongoDB文件夹中

NoSQL 4

NoSQL 5

 

服务器配置

【搭建服务器】

  搭建服务器,需要展开以下几个步骤

  1、创造data文件夹存储数据库的数据文件;成立log文件夹存储数据库的日记文件;成立bin文件夹存储数据库的可执行文件;创设conf文件夹来存储数据库的布置文件

  2、在windows系统下需要设置环境变量,否则在指令行中会提醒mongod命令不可用

  在环境变量的path中,添加mongod.exe文件的目录

NoSQL 6

  3、接下去,有二种艺术启动mongoDB服务,一种如下所示,设置dppath参数值为自定义的目录路径

mongod --dbpath=D:/app/mongo/data

  由下图来看,mongodb的默认端口是27017

NoSQL 7

  4、另一种是在conf文件夹下新建mongod.conf文件,在这一个文件旅长设置mongodb启动的安排参数

dbpath = data
logpath = log/mongod.log

mongod -f conf/mongod.conf

  那种格局在命令行工具中尚无任何指示,因为记录已经保存到日志文件中,此时mongodb服务业已正常打开

NoSQL 8

【连接服务器】

  在搭建好mongodb服务器之后,需要采取客户端mongo进行连续,才能拓展下一步的操作

  因为是使用mongo连接mongodb服务器,所以需要确保启动mongodb服务器的命令行工具不被关门,新开一个命令行工具,并输入mongo
127.0.0.1/test,test为数据库的称号

NoSQL 9

【关闭mongod服务】

  首先切换来admin数据库(use
admin),然后接纳db.shutdownServer()命令来关闭服务

NoSQL 10

 

数据库操作

【默认】

  MongoDB 中默认的数据库为 test,假使没有创建新的数据库,集合将存放在
test 数据库中

【查看】

  使用show dbs来查阅数据库

show dbs

NoSQL 11

【创建/切换】

   使用use命令来切换/创制数据库,会意识创立的数据库并不在数据库的列表中,
要显示它,需要向数据库插入一些多少

use db_name

NoSQL 12

【展现当前数据库】

  使用db命令来体现当前数据库

db

NoSQL 13

【将数据写入集合中】

  使用db.集合名.insert(文档)来将文档的数额写入集合中,文档的格式为JSON。而所有存储在汇集中的数据都是BSON格式。BSON是一连串json的一种二进制形式的蕴藏格式,简称Binary
JSON。

db.collection_name.insert()

NoSQL 14

【查看集合】

  下面的插入操作,会活动创造集合db1_coll1,使用show
collections命令可以查阅当前数据库中的所有集合

NoSQL 15

【删除数据库】

  这将去除当前所选数据库。
假如没有采纳任何数据库,那么它将去除默认的’test‘数据库

db.dropDatabase()

NoSQL 16

 

聚拢操作

  集合类似于SQL数据库中的数据表,标识为collection

【查看集合】

   可以利用命令show collections检查成立的联谊

  [注意]也足以行使show tables来查看集合

NoSQL 17

【创立集合】

  在插入文档时,MongoDB首先检查上限集合capped字段的深浅,然后检查max字段

db.createCollection(name, {capped: <Boolean>, autoIndexId: <Boolean>, size: <number>, max <number>} )

  name:集合的名字

  capped:是否启用集合限制,假使打开需要制订一个限制条件,默认为不启用,这几个参数没有实际意义

  max:集合中最大条数限制,默认为没有范围

  size:限制集合使用空间的大小,默认为没有限定,size的事先级比max要高

  autoIndexId:是否使用_id作为目录,默认为使用(true或false)

NoSQL 18

  [注意]向聚集中插入文档时,倘使集合不存在 ,则会自行创设集合

NoSQL 19

【删除集合】

  MongoDB
的 db.collection_name.drop() 用于从数据库中除去集合。假使选定的相会成功删除,drop()艺术将赶回true,否则再次回到false

NoSQL 20

 

数量导入

  在mongoimport的装置目录下,能够动用如下命令导入数据文件

  使用window自带的CMD,使用反斜杠

mongoimport -h 192.168.1.106:27017 -d db1 -c users --file D:\app\vue\imooc\resource\dumall-users

  使用bash工具时,使用正斜杠

NoSQL 21

  mongoimport的事无巨细命令如下

NoSQL 22

 

闭馆服务

  假设想关闭mongodb服务,可以动用mongo来实现

mongo 192.168.1.105:27017
use admin
db.shutdownServer()

   也可以直接使用mongod来促成

mongod --shutdown

 

网站地图xml地图