1.索引(ensureIndex() 方法)
语法:
db.COLLECTION_NAME.ensureIndex({KEY:1})
参数说明:
KEY值为要创建的索引字段,1为按升序创建索引,若想按降序来创建索引指定为-1
注意:
也可以设置使用多个字段创建索引(关系型数据库中称作复合索引)
实例:
db.person.ensureIndex({“name”:1,”learnSub”:-1})
2.聚合(aggregate() 方法)
聚合主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。类似sql语句中的 count(*)
语法:
db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)
聚合表达式;
sum:计算总和
avg: 计算平均值
min:获取集合中所有文档对应值得最小值
max:获取集合中所有文档对应值得最大值
push:在结果文档中插入值到一个数组中
addToSet:在结果文档中插入值到一个数组中,但不创建副本
first:根据资源文档的排序获取第一个文档数据
last:根据资源文档的排序获取最后一个文档数据
2.1 管道
聚合管道将MongoDB文档在一个管道处理完毕后将结果传递给下一个管道处理。管道操作是可以重复的
注意:
表达式:处理输入文档并输出。表达式是无状态的,只能用于计算当前聚合管道的文档,不能处理其它的文档
2.2聚合框架中常用的操作
project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档
match:用于过滤数据,只输出符合条件的文档。
match使用MongoDB的标准查询操作
limit:用来限制MongoDB聚合管道返回的文档数
skip:在聚合管道中跳过指定数量的文档,并返回余下的文档
unwind:将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值
group:将集合中的文档分组,可用于统计结果
sort:将输入文档排序后输出
$geoNear:输出接近某一地理位置的有序文档
3.复制(副本集)
复制是将数据同步在多个服务器的过程,提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性,当发生硬件故障和服务中断中时可以恢复数据。
4.分片
Mongodb里面存在一种集群,可以满足MongoDB数据量大量增长的需求,当存储海量的数据时,一台机器可能不足以存储数据,也可能不足以提供可接受的读写吞吐量,这时,我们就可以通过在多台机器上分割数据,使得数据库系统能存储和处理更多的数据。(此处我用于基础学习,没有去挖掘分片,想学习者可以自己查一下)
5.备份
语法:
mongodump -h dbhost -d dbname -o dbdirectory
参数说明:
-h:
MongDB所在服务器地址,例如:127.0.0.1,也可以指定端口号:127.0.0.1:27017
-d:
需要备份的数据库实例,例如:test
-o:
备份的数据存放位置,例如:c:\data\dump,该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。
6.数据恢复
语法:
mongorestore -h <:port> -d dbname
mongo的基础就学习记录到这!