MongoDB学习

1、MongoDB

MongoDB是用C++语言编写的非关系型数据库。特点是高性能、易部署、易使用,存储数据十分方便,主要特性有:

面向集合存储,易于存储对象类型的数据

模式自由

支持动态查询

支持完全索引,包含内部对象

支持复制和故障恢复

使用高效的二进制数据存储,包括大型对象

文件存储格式为BSON(一种JSON的扩展)

2、安装

【1】:下载地址:https://www.mongodb.org/dl/win32/

【2】:配置环境变量:C:\MongoDB\Server\3.2\bin 【找到你MongoDB的安装目录】。

【3】在C盘目录创建文件夹data,在data中创建db、log文件夹。

【4】在dom窗口输入mongod启动服务器。

【5】新打开一个dom窗口输入mongo 连接数据库。

 

3、配置MongoDB后台服务启动

【1】在目录 C:\\MongoDB\Server\3.2 下添加一个配置文件mongod.cfg

【2】以管理员的身份打开命令行窗口运行如下代码

sc.exe create MongoDB binPath= "\"mongod的bin目录\mongod.exe\" --service --config=\"mongo的安装目录\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"

【3】启动服务

【4】如果启动失败,证明上边的操作有误,在控制台输入 sc delete MongoDB 删除之前配置的服务,然后从第一步再来一次。

4、MongoDB基本操作

show dbs、show databases 查询所有数据库

use 数据库名 进入到指定数据库中

**在MongoDB中,数据库和集合都不需要手动创建,当我们创建文档时,如果文档所在的集合或数据库不存在会自动创建数据库和集合

db 显示的是当前所处的数据库

show collections  显示数据库中所有的集合

插入:---》

向数据库插入文档   db.<集合名称>.insert(文档内容)

一次插入多条,用数据包裹。

insertOne();   //插入一条                   insertMany();  //插入多条

 

save()与insert()区别?

一般情况下没有区别,如果在save()指定_id的值,就变成update语句效果。

复制集合中所有数据到新集合中

 

查询:--》

db.<集合名称>.find()  查询当前集合中的所有的文档

查询全部文档:

条件查询

查询文档总记录数

findOne()只能返回符合条件的第一条数据

更新:--》

删除:--》

remove默认删除符合条件多个

删除一个集合 db.collection.drop()

删除一个数据库 db.dropDatabase()

数组操作:--》

逻辑运算符:--》

排序:--》

聚合函数:--》

索引:--》

5、固定集合

固定集合指的是事先创建而且大小固定的集合 。

固定集合特性:固定集合很像环形队列,如果空间不足,最早的文档就会被删除,为新的文档腾出空间。一般来说,固定集合适用于任何想要自动淘汰过期属性的场景,没有太多的操作限制。

创建固定集合使用命令:db.createCollection(“collectionName”,{capped:true,size:100000,max:100});  

size指定集合大小,单位为KBmax指定文档的数量

当指定文档数量上限时,必须同时指定大小。淘汰机制只有在容量还没有满时才会依据文档数量来工作。要是容量满了,淘汰机制会依据容量来工作。

7、备份和恢复

备份:

MongoDB提供了备份和恢复的功能,分别是MongoDB下载目录下的mongodump.exemongorestore.exe文件 .

备份数据使用下面的命令:mongodump -h dbhost -d dbname -o dbdirectory

-hMongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017

-d:需要备份的数据库实例,例如:test

-o:备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。

恢复:

恢复数据使用下面的命令:mongorestore -h dbhost -d dbname  dbdirectory

-hMongoDB所在服务器地址

-d:需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2

dbdirectory 备份数据所在位置,例如:c:\data\dump\test

8、导入和导出

导出:

导出数据可以使用命令:mongoexport -h dbhost -d dbname -c collectionName -o output

参数说明:

-h  数据库地址

-d 指明使用的库

-c 指明要导出的集合

-o 指明要导出的文件名

导入:

导入数据可以使用命令:mongoimport -h dbhost -d dbname -c collectionname output

参数说明:

-h  数据库地址

-d 指明使用的库

-c 指明要导入的集合

 

8、Mongoose

Mongoose是一个对象文档模型(ODM)库,它对Node原生的MongDB模块进行了进一步的优化封装,并提供了更多的功能。

优点:

(1)可以为文档创建一个模式结构(Schema)。

(2)可以对模型中的对象/文档进行验证。

(3)数据可以通过类型转换成对象模型

nodejs操作数据库

schema

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值