MongoDB升级教程

时间:2022-02-28 20:12:08

1、排序

sort()方法:其中 1 为升序排列,而-1是用于降序排列。

db.col.find({},{"title":1,_id:0}).sort({"likes":-1})

如果没有指定sort()方法的排序方式,默认按照文档的升序排列。

2、索引

ensureIndex() 方法来创建索引。

db.col.ensureIndex({"title":1})

1为指定按升序创建索引,-1为按降序创建索引

也可以设置使用多个字段创建索引

db.col.ensureIndex({"title":1,"description":-1})

方法主要可接受参数:

MongoDB升级教程

3、聚合管道

聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。有点类似sql语句中的 count(*)。

类似于sql语句:select by_user, count(*) from mycol group by by_user

db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])

聚合常用表达式:

MongoDB升级教程

管道

聚合框架中常用的几个操作:

  • $project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档。
  • $match:用于过滤数据,只输出符合条件的文档。$match使用MongoDB的标准查询操作。
  • $limit:用来限制MongoDB聚合管道返回的文档数。
  • $skip:在聚合管道中跳过指定数量的文档,并返回余下的文档。
  • $unwind:将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值。
  • $group:将集合中的文档分组,可用于统计结果。
  • $sort:将输入文档排序后输出。
  • $geoNear:输出接近某一地理位置的有序文档。

4、复制

MongoDB复制是将数据同步在多个服务器的过程。

复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性。

复制还允许您从硬件故障和服务中断中恢复数据。

mongodb的复制至少需要两个节点。

其中一个是主节点,负责处理客户端请求,

其余的都是从节点,负责复制主节点上的数据。

MongoDB副本集设置

5、分片

在Mongodb里面存在另一种集群,就是分片技术,可以满足MongoDB数据量大量增长的需求。

6、备份与恢复

mongodump

mongodump -h dbhost -d dbname -o dbdirectory

mongorestore

mongorestore -h dbhost -d dbname --directoryperdb dbdirectory

7、监控