MongoDB数据库基础操作

面前的言辞

  为了保留网站的用户数量及事务数据,通常用一个数据库。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版本进行下载

图片 1

  然后,一步一步进行安装即可

图片 2

图片 3

  默认情况下,安装至C盘的Program Files文件夹下之MongoDB文件夹着

图片 4

图片 5

 

服务器配置

【搭建服务器】

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

  1、创建data文件夹存储数据库的数据文件;创建log文件夹存储数据库的日志文件;创建bin文件夹存储数据库的可执行文件;创建conf文件夹来囤积数据库的配置文件

  2、在windows系统下得装环境变量,否则在指令行中会提示mongod命令不可用

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

图片 6

  3、接下去,有星星点点栽方式启动mongoDB服务,一种植如下所示,设置dppath参数值为从定义之目路径

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

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

图片 7

  4、另一样栽是于conf文件夹下新建mongod.conf文件,在斯文件中将设置mongodb启动之布参数

dbpath = data
logpath = log/mongod.log

mongod -f conf/mongod.conf

  这种办法以命令行工具中没有另外提示,因为记录曾保存至日志文件中,此时mongodb服务已见怪不怪打开

图片 8

【连接服务器】

  于搭建好mongodb服务器之后,需要以客户端mongo进行连续,才会拓展下一样步的操作

  因为凡行使mongo连接mongodb服务器,所以待确保启动mongodb服务器的命令行工具不吃关,新开始一个命令行工具,并输入mongo
127.0.0.1/test,test为数据库的名

图片 9

【关闭mongod服务】

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

图片 10

 

数据库操作

【默认】

  MongoDB 中默认的数据库也 test,如果没创造新的数据库,集合将存放于
test 数据库被

【查看】

  使用show dbs来查数据库

show dbs

图片 11

【创建/切换】

   使用use命令来切换/创建数据库,会意识创建的数据库并无以数据库的列表中,
要显示她,需要往数据库插入一些数额

use db_name

图片 12

【显示当前数据库】

  使用db命令来显示当前数据库

db

图片 13

【将数据写入集合中】

  使用db.集合名.insert(文档)来以文档的数量写入集合中,文档的格式为JSON。而具备存储在汇聚中的数码都是BSON格式。BSON是均等栽类json的相同栽二进制形式的仓储格式,简称Binary
JSON。

db.collection_name.insert()

图片 14

【查看集合】

  上面的插入操作,会自行创建集合db1_coll1,使用show
collections命令可以查看时数据库中之富有集合

图片 15

【删除数据库】

  这将去除时所挑选数据库。
如果无选其它数据库,那么她以去除默认的’test‘数据库

db.dropDatabase()

图片 16

 

集操作

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

【查看集合】

   可以下命令show collections反省创建的集结

  [注意]啊可采取show tables来查阅集合

图片 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)

图片 18

  [注意]通向聚集中插文档时,如果凑不设有 ,则会自动创建集合

图片 19

【删除集合】

  MongoDB
的 db.collection_name.drop() 用于打数据库被去除集合。如果选定的集聚成功删除,drop()主意以回到true,否则回false

图片 20

 

数量导入

  以mongoimport的装置目录下,可以使用如下命令导入数据文件

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

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

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

图片 21

  mongoimport的详尽命令如下

图片 22

 

关服务

  如果想关闭mongodb服务,可以以mongo来实现

mongo 192.168.1.105:27017
use admin
db.shutdownServer()

   也得一直以mongod来兑现

mongod --shutdown

 

相关文章