美文网首页周文佳语强化班
MongoDB的索引和备份

MongoDB的索引和备份

作者: 刘文奇_强化班 | 来源:发表于2019-09-27 20:00 被阅读0次

MongoDB的索引

  • 为什么要创建索引?
    • 加快查询速度
    • 加快数据的去重

创建简单的索引

  • 语法:
    • db.col_name.ensureIndex({属性:1}), 1表示升序, -1表示降序
    • db.col_name.createIndex({属性:1})
    • 上面两个命令等价
  • 具体操作:db.col_name.ensureIndex({name:1})

索引查看

  • 默认情况下:_id是集合的索引
  • 查看方式:db.col_name.getIndexes()

创建唯一索引

  • 在默认情况下MongoDB的索引字段的 值是可以相同的
  • 某字段创建唯一索引,则表明该字段不允许出现相同值
  • 添加唯一索引的语法:db.col_name.ensureIndex({属性:},{"unique":true})

删除索引

  • 语法:db.col_name.dropIndex({索引名称:1或者-1})

建立复合索引

在进行数据去重的时候,可能用一个字段来保证数据的唯一性,这个时候可以考虑建立符合索引来实现。例如:抓全贴吧文章的名字作为唯一索引对数据进行去重是不可取的,因为很多帖子的名称相同。

  • 建立复合索引的语法:db.col_name.ensureIndex({字段1:1,字段2:1})

索引注意事项

  • 根据需要 选择是否建立唯一索引
  • 索引字段是升序还是降序在单个索引的情况下不影响查询效率,但是在符合索引的条件下是会有影响的。
    • 例如:在进行查询的时候,如果字段1需要升序方式排序输入,字段2需要降序方式排序输出,那么此时符合索引的建立需要把字段1设置为1,字段2设置为-1

MongoDB的备份与恢复

备份

  • 备份的语法:mongodump -h dbhost -d dbname -o dbdirectory
  • -h: 服务器地址,也可以指定端口号
  • -d: 需要备份的数据库名称
  • -o: 备份的数据存放的位置,此目录中存放着备份出来的数据
    • 示例:mongodump -h 192.168.196.128:27017 -d text -o ~/Desktop/text_bak

恢复

  • 恢复语法:mongorestore -h dbhost -d dbname --dir dbdirectory
  • -h: 服务器地址
  • -d: 需要恢复的数据库示例
  • --dir: 备份的数据所在位置(路径)
  • 示例:mongorestore -h 192.168.196.128:27017 -d text --dir ~/Desktop/text_bak

相关文章

网友评论

    本文标题:MongoDB的索引和备份

    本文链接:https://www.haomeiwen.com/subject/eivauctx.html