文档章节

mongodb 常用命令

奋斗中2015
 奋斗中2015
发布于 2015/04/21 15:43
字数 785
阅读 13
收藏 0
启动数据库:
mongod --dbpath="数据库存目录"
安全关闭数据库:
mongo admin --eval "db.shutdownServer()"
 
整库备份:
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目录,这个目录里面存放该数据库实例的备份数据。

整库恢复:
mongorestore -h dbhost -d dbname –directoryperdb dbdirectory
-h:MongoDB所在服务器地址
-d:需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
–directoryperdb:备份数据所在位置,例如:c:\data\dump\test,这里为什么要多加一个test,而不是备份o时候的dump,读者自己查看提示吧!
–drop:恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!

单个collection备份:
mongoexport -h dbhost -d dbname -c collectionname -f collectionKey -o dbdirectory
-h: MongoDB所在服务器地址
-d: 需要恢复的数据库实例
-c: 需要恢复的集合
-f: 需要导出的字段(省略为所有字段)
-o: 表示导出的文件名

单个collection恢复:
mongoimport -d dbhost -c collectionname –type csv –headerline –file
-type: 指明要导入的文件格式
-headerline: 批明不导入第一行,因为第一行是列名
-file: 指明要导入的文件路径


超级用户相关:

  1. use admin
  2. #增加或修改用户密码
  3. db.addUser(ixigua,'pwd')
  4. #查看用户列表
  5. db.system.users.find()
  6. #用户认证
  7. db.auth(ixigua,'pwd')
  8. #删除用户
  9. db.removeUser('mongodb')
  10. #查看所有用户
  11. show users
  12. #查看所有数据库
  13. show dbs
  14. #查看所有的collection
  15. show collections
  16. #查看各collection的状态
  17. db.printCollectionStats()
  18. #查看主从复制状态
  19. db.printReplicationInfo()
  20. #修复数据库
  21. db.repairDatabase()
  22. #设置记录profiling,0=off 1=slow 2=all
  23. db.setProfilingLevel(1)
  24. #查看profiling
  25. show profile
  26. #拷贝数据库
  27. db.copyDatabase('mail_addr','mail_addr_tmp')
  28. #删除collection
  29. db.mail_addr.drop()
  30. #删除当前的数据库
  31. db.dropDatabase()
  • 客户端连接
  1. /usr/local/mongodb/bin/mongo 8.8.88/ixigualib -u ixigua -p 'pwd'
  • 增删改
  1. #存储嵌套的对象
  2. db.foo.save({'name':'ysz','address':{'city':'beijing','post':100096},'phone':[138,139]})
  3. #存储数组对象
  4. db.user_addr.save({'Uid':'yushunzhi@sohu.com','Al':['test-1@sohu.com','test-2@sohu.com']})
  5. #根据query条件修改,如果不存在则插入,允许修改多条记录
  6. db.foo.update({'yy':5},{'$set':{'xx':2}},upsert=true,multi=true)
  7. #删除yy=5的记录
  8. db.foo.remove({'yy':5})
  9. #删除所有的记录
  10. db.foo.remove()
  • 索引
  1. #增加索引:1(ascending),-1(descending)
  2. db.things.ensureIndex({firstname: 1, lastname: 1}, {unique: true});
  3. #索引子对象
  4. db.user_addr.ensureIndex({'Al.Em': 1})
  5. #查看索引信息
  6. db.deliver_status.getIndexes()
  7. db.deliver_status.getIndexKeys()
  8. #根据索引名删除索引
  9. db.user_addr.dropIndex('Al.Em_1')
  • 查询
  1. #查找所有
  2. db.foo.find()
  3. #查找一条记录
  4. db.foo.findOne()
  5. #根据条件检索10条记录
  6. db.foo.find({'msg':'Hello 1'}).limit(10)
  7. #sort排序
  8. db.deliver_status.find({'From':'ixigua@sina.com'}).sort({'Dt',-1})
  9. db.deliver_status.find().sort({'Ct':-1}).limit(1)
  10. #count操作
  11. db.user_addr.count()
  12. #distinct操作
  13. db.foo.distinct('msg')
  14. #>操作
  15. db.foo.find({"timestamp": {"$gte" : 2}})
  16. #子对象的查找
  17. db.foo.find({'address.city':'beijing'})
  • 管理
  1. #查看collection数据的大小
  2. db.deliver_status.dataSize()
  3. #查看colleciont状态
  4. db.deliver_status.stats()
  5. #查询所有索引的大小
  6. db.deliver_status.totalIndexSize()

© 著作权归作者所有

共有 人打赏支持
奋斗中2015
粉丝 1
博文 17
码字总数 3831
作品 0
石家庄
程序员
私信 提问
Docker MongoDB 部署

MongoDB 是一款较为常用的NOSQL 数据库,结合 Docker 使用,能实现轻松配置部署、迁移,本文以下为简要介绍如何在 Docker 中部署并使用 MongoDB。下文主要分为几个部分,内容如下: MongoDB ...

speculatecat
04/06
0
0
CentOS7.X安装mongodb-3.4.2

安装mongodb 下载安装mongodb3.4.x 加入环境变量 创建数据目录 修改配置文件 启动关闭mongodb 开机启动mongodb Mongodb集群(cluster) 修改mongodb.conf 启动mongodb 初始化mongodb,启动副本集...

qq2233466866
06/11
0
0
最全面MongoDB安装与配置

数据是每一前端人员必定接触的一样,所有的数据都是后端来编写,如果自己想练习项目,却没有数据,而是写一些假数据,去编写,或者通过json-server搭建一个数据,今天我们就通过MongoDB来搭建...

小周sri的码农
08/06
0
0
基于云数据库MongoDB版进行应用开发

MongoDB是一个基于分布式文件存储的数据库,在互联网、物联网、游戏、金融等领域被广泛采用。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是当前最流行的Nosql...

mcy0425
09/14
0
0
《阿里巴巴MongoDB4.0高级实战:基于Java Spring Boot 2.0》运维、监控、聚合、集群、监控等高级面试题

《阿里巴巴MongoDB4.0高级实战》阿里巴巴技术大牛 资深专家P9叶翔、专家徐雷. NoSQL排名第一!最流行的NoSQL数据库;谷歌、阿里巴巴、蚂蚁金服、腾讯、百度等一线互联网公司必备技能。 本系列...

徐雷frank
11/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Ugly Number(leetcode263)

Write a program to check whether a given number is an ugly number. Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. Example 1: Input: 6Output: true......

woshixin
20分钟前
1
0
深度模型从研者 眼里的 似然估计 & Hessain 海森矩阵 & Fisher Information (费雪信息)

深度模型的训练的基本依据是最小化模型拟合数据的误差。旨在不仅知其然(如何构建和训练一个深度模型),还应知其所以然(为什么这样训练,可以做哪些优化)。我们就会发现,有很多研究者,在...

刘小米_思聪
25分钟前
0
0
阿里巴巴智能监控新场景的探索

摘要: 智能监控是智能运维的子领域,详细分析。 作者简介 王肇刚 阿里巴巴全球运行指挥中心高级技术专家 智能监控是智能运维的子领域,我们说的监控,探讨的更多是在监控策略,因为可能从数...

阿里云官方博客
27分钟前
1
0
【双十二】12 月 12 日 12 点 12 分限量抢福利,云计算不剁手!

活动详情 1.首充豪礼 双十二当日,新用户首充 200 元送 200 元代金券!仅限前 88 名!先到先得!拼手速!(新用户指 12 月 12 日前已完成注册但从未充值过的用户)
 2.超值返券 双十二当日,...

七牛云
52分钟前
3
0
Calculate Linux 发布 18 LXQt是基于Gentoo的发行版

导读 Calculate Linux 是一个基于 Gentoo 并与 Gentoo 完全兼容的滚动更新发行版家族,专为企业环境下的快速部署而优化。其提供多个不同的分支版本,分别适用于桌面、服务器等应用场景。该项...

问题终结者
55分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部