Mongodb常用命令介绍
查看命令的方式:
1.在shell中运行db.listCommands()
2.在浏览器中访问管理员接口:http://ipaddress:28017/_commands
下面介绍在Mongodb中最经常使用的命令,具体如下:
命令:buildInfo
格式:{"buildInfo":1}
介绍:管理专用命令,返回Mongodb服务器的版本号和主机的操作系统。
示例:
Shell代码
> db.runCommand({"buildInfo":1})
{
"version" : "2.0.6",
"gitVersion" : "e1c0cbc25863f6356aa4e31375add7bb49fb05bc",
"sysInfo" : "Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_41",
"versionArray" : [
2,
0,
6,
0
],
"bits" : 32,
"debug" : false,
"maxBsonObjectSize" : 16777216,
"ok" : 1
}
命令:collStats
格式:{"collStats":collection}
介绍:返回指定集合的统计信息,包括数据大小、已分配的存储空间和索引的大小。
示例:
Shell代码
> db.runCommand({"collStats":"users"})
{
"ns" : "test.users",
"count" : 3,
"size" : 508,
"avgObjSize" : 169.33333333333334,
"storageSize" : 4096,
"numExtents" : 1,
"nindexes" : 2,
"lastExtentSize" : 4096,
"paddingFactor" : 1.51,
"flags" : 0,
"totalIndexSize" : 16352,
"indexSizes" : {
"_id_" : 8176,
"name_1" : 8176
},
"ok" : 1
}
命令:distinct
格式:{"distinct":collection,"key":key,"query":query}
介绍:列出指定集合中满足查询条件的文档的指定键的所有不同值
示例:
Shell代码
> db.runCommand({"distinct":"foo","key":"name","query":{"age":{"$gt":20}}})
{
"values" : [
"gongyong",
"chenzhou",
"yixin"
],
"stats" : {
"n" : 4,
"nscanned" : 6,
"nscannedObjects" : 6,
"timems" : 50,
"cursor" : "BasicCursor"
},
"ok" : 1
}
命令:drop
格式:{"drop":collection}
介绍:删除集合的所有数据
示例:
Shell代码
> db.bbb.save({"x":1,"y":2})
#先往bbb中存一条记录
> db.bbb.find() #查询bbb中的数据
{ "_id" : ObjectId("5027d919831a10b0f6e61385"), "x" : 1, "y" : 2 }
#使用drop命令删除bbb集合中的数据
> db.runCommand({"drop":"bbb"})
{
"nIndexesWas" : 1,
"msg" : "indexes dropped for collection",
"ns" : "test.bbb",
"ok" : 1
}
> db.bbb.find() #再次查询,结果为空
命令:dropDatabase
格式:{"dropDatabase":1}
介绍:删除当前数据库中的所有数据
示例:略
命令:dropIndexes
格式:{"dropIndexes":collection,"index":name}
介绍:删除集合里面名称为name的索引,如果名称为"*",则删除全部索引。
示例:
Shell代码
> db.system.indexes.find()
{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "test.foo", "name" : "_id_" }
{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "test.users", "name" : "_id_" }
{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "test.games", "name" : "_id_" }
{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "test.blog.post", "name" : "_id_" }
{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "test.lists", "name" : "_id_" }
{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "test.math", "name" : "_id_" }
{ "v" : 1, "key" : { "name" : 1 }, "ns" : "test.users", "name" : "name_1" }
{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "test.map", "name" : "_id_" }
{ "v" : 1, "key" : { "gps" : "2d" }, "ns" : "test.map", "name" : "gps_", "min" : -180, "max" : 181 }
> db.runCommand({"dropIndexes":"users","index":"name_1"})
{ "nIndexesWas" : 2, "ok" : 1 }
> db.system.indexes.find()
{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "test.foo", "name" : "_id_" }
{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "test.users", "name" : "_id_" }
{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "test.games", "name" : "_id_" }
{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "test.blog.post", "name" : "_id_" }
{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "test.lists", "name" : "_id_" }
{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "test.math", "name" : "_id_" }
{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "test.map", "name" : "_id_" }
{ "v" : 1, "key" : { "gps" : "2d" }, "ns" : "test.map", "name" : "gps_", "min" : -180, "max" : 181 }
命令:findAndModify
格式:
介绍:查找并修改
示例:
Shell代码
> db.foo.find({"name":"yixin"})
{ "_id" : ObjectId("5027d84b831a10b0f6e61384"), "name" : "yixin", "age" : 23 }
> db.runCommand({"findAndModify":"foo",
... "query":{"name":"yixin"},
... "update":{"$inc":{"age":1}}}) #把name为yixin的记录中age值加1
{
"lastErrorObject" : {
"updatedExisting" : true,
"n" : 1,
"connectionId" : 2,
"err" : null,
"ok" : 1
},
"value" : {
"_id" : ObjectId("5027d84b831a10b0f6e61384"),
"name" : "yixin",
"age" : 23
},
"ok" : 1
}
> db.foo.find({"name":"yixin"})
{ "_id" : ObjectId("5027d84b831a10b0f6e61384"), "name" : "yixin", "age" : 24 }
命令:getLastError
格式:{"getLastError":1[ , "w":w[ , "wtimeout":timeout}
介绍:查看对本集合执行的最后一次操作的错误信息或者其它状态信息。在w台服务器复制集合的最后操作之前,这个命令会阻塞。
示例:
Shell代码
> db.runCommand({"getLastError":1})
{ "n" : 0, "connectionId" : 2, "err" : null, "ok" : 1 }
命令:isMaster
格式:{"isMaster":1}
介绍:检查本服务器是主服务器还是从服务器
示例:
Shell代码
> db.runCommand({"isMaster":1})
{ "ismaster" : true, "maxBsonObjectSize" : 16777216, "ok" : 1 }
命令:listCommands
格式:{"listCommands":1}
介绍:返回所有可以在服务器上运行的命令及相关信息。
示例: 返回结果太多,示例就省略了
命令:listDatabases
格式:{"listDatabases":1}
介绍:管理专用命令,列出服务器上所有的数据库
示例:
Shell代码
> db.runCommand({"listDatabases":1})
{ "errmsg" : "access denied; use admin db", "ok" : 0 }
#报错,提示访问被拒绝,要求必须使用admin数据库
> use admin #切换到admin数据库
switched to db admin
> db.runCommand({"listDatabases":1})
{
"databases" : [
{
"name" : "test",
"sizeOnDisk" : 67108864,
"empty" : false
},
{
"name" : "results",
"sizeOnDisk" : 67108864,
"empty" : false
},
{
"name" : "admin",
"sizeOnDisk" : 1,
"empty" : true
},
{
"name" : "local",
"sizeOnDisk" : 1,
"empty" : true
}
],
"totalSize" : 134217728,
"ok" : 1
}
命令:ping
格式:{"ping":1}
介绍:检查服务器链接是否正常。即便服务器上锁了,这条命令也会立刻返回
示例:
Shell代码
> db.runCommand({"ping":1})
{ "ok" : 1 }
命令:renameCollection
格式:{"renameCollection":a,"to":b}
介绍:将集合a重命名为b,其中a和b都必须是完整的集合命名空间(例如"test.foo"代表test数据库中的foo集合)
示例:
Shell代码
> db.runCommand({"renameCollection":"foo","to":"foo_bak"})
{ "errmsg" : "access denied; use admin db", "ok" : 0 }
> use admin
switched to db admin
> db.runCommand({"renameCollection":"foo","to":"foo_bak"})
{
"errmsg" : "exception: source namespace does not exist",
"code" : 10026,
"ok" : 0
}
> db.runCommand({"renameCollection":"test.foo","to":"test.foo_bak"})
{ "ok" : 1 }
> db.foo_bak.find()
> use test
switched to db test
> db.foo_bak.find()
{ "_id" : ObjectId("502149203e2ff9961cc7b555"), "name" : "chenzhou" }
{ "_id" : ObjectId("502149353e2ff9961cc7b556"), "age" : 23 }
{ "_id" : ObjectId("5021495c3e2ff9961cc7b557"), "name" : "gongyong", "age" : 26 }
{ "_id" : ObjectId("50214ad63e2ff9961cc7b558"), "name" : "chenzhou", "age" : 22, "friends" : 500, "enemies" : 2 }
{ "_id" : 123, "x" : 1 }
{ "_id" : ObjectId("5027d84b831a10b0f6e61384"), "name" : "yixin", "age" : 24 }
命令:repairDatabase
格式:{"repairDatabase":1}
介绍:修复并压缩当前数据库,这个操作可能非常耗时。
示例:略
命令:serverStatus
格式:{"serverStatus":1}
介绍:返回这台服务器的管理统计信息。
示例:
Shell代码
> db.runCommand({"serverStatus":1})
{
"host" : "localhost.localdomain",
"version" : "2.0.6",
"process" : "mongod",
"uptime" : 3661,
"uptimeEstimate" : 2987,
"localTime" : ISODate("2012-08-12T17:07:05.076Z"),
"globalLock" : {
"totalTime" : 3659420009,
"lockTime" : 609397,
"ratio" : 0.00016652830188971076,
"currentQueue" : {
"total" : 0,
"readers" : 0,
"writers" : 0
},
"activeClients" : {
"total" : 0,
"readers" : 0,
"writers" : 0
}
},
"mem" : {
"bits" : 32,
"resident" : 45,
"virtual" : 158,
"supported" : true,
"mapped" : 64
},
"connections" : {
"current" : 1,
"available" : 818
},
"extra_info" : {
"note" : "fields vary by platform",
"heap_usage_bytes" : 491848,
"page_faults" : 0
},
"indexCounters" : {
"btree" : {
"accesses" : 1,
"hits" : 1,
"misses" : 0,
"resets" : 0,
"missRatio" : 0
}
},
"backgroundFlushing" : {
"flushes" : 60,
"total_ms" : 119,
"average_ms" : 1.9833333333333334,
"last_ms" : 0,
"last_finished" : ISODate("2012-08-12T17:06:05.816Z")
},
"cursors" : {
"totalOpen" : 0,
"clientCursors_size" : 0,
"timedOut" : 0
},
"network" : {
"bytesIn" : 7312,
"bytesOut" : 63515,
"numRequests" : 102
},
"opcounters" : {
"insert" : 2,
"query" : 29,
"update" : 1,
"delete" : 0,
"getmore" : 0,
"command" : 75
},
"asserts" : {
"regular" : 0,
"warning" : 0,
"msg" : 0,
"user" : 1,
"rollovers" : 0
},
"writeBacksQueued" : false,
"ok" : 1
}
Mongodb常用命令介绍的更多相关文章
- (转)mongodb常用命令脚本化-自动化运维
mongodb常用命令脚本化-自动化运维 把一些运维中常用到的mongodb命令写成shell脚本,极大的方便了维护 1 设置副本集 #!/bin/bash#mongodb 进入client ...
- maven常用命令介绍
mvn 3.0.4 创建maven项目命令 mvn archetype:generate -DgroupId=damocles-autocredit -DartifactId=damocles ...
- Hadoop生态圈-zookeeper本地搭建以及常用命令介绍
Hadoop生态圈-zookeeper本地搭建以及常用命令介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.下载zookeeper软件 下载地址:https://www.ap ...
- Hadoop生态圈-phoenix完全分布式部署以及常用命令介绍
Hadoop生态圈-phoenix完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. phoenix只是一个插件,我们可以用hive给hbase套上一个JDBC壳,但是你 ...
- Docker 安装与常用命令介绍
docker的镜像文件作用就是:提供container运行的文件系统层级关系(基于AUFS实现),所依赖的库文件.已经配置文件等等. 安装docker yum install -y docker 启动 ...
- mongodb常用命令学习笔记
mongodb常用命令学习笔记 创建数据库 use DATABASE_NAME eg: use users; 如果数据库不存在,则创建数据库,否则切换到指定数据库.要显示刚刚创建的数据库,需要向数据库 ...
- 转:maven常用命令介绍
mvn 3.0.4 创建maven项目命令 mvn archetype:generate -DgroupId=damocles-autocredit -DartifactId=damocles ...
- Linux操作系统安全-OpenSSL工具常用命令介绍
Linux操作系统安全-OpenSSL工具常用命令介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.OpenSSL开源项目有三个组件 openssl: 多用途的命令行工具,包 ...
- cmd常用命令介绍
一.cdm命令介绍:CMD命令是一种命令提示符,CMD是command的缩写,即命令提示符(CMD),位于C:\Windows\System32的目录下,是在OS/2,Win为基础的操作系统(包括Wi ...
随机推荐
- 全部leetcode题目解答(不含带锁)
(记忆线:当时一刷完是1-205. 二刷88道.下次更新记得标记不能bug-free的原因.) 88-------------Perfect Squares(完美平方数.给一个整数,求出用平方数来 ...
- [java]OutOfMemoryError 原因及解决办法
导致OutOfMemoryError异常的常见原因有以下几种: 内存中加载的数据量过于庞大,如一次从数据库取出过多数据: 集合类中有对对象的引用,使用完后未清空,使得JVM不能回收: 代码中存在死循环 ...
- Mosquitto搭建Android推送服务(一)MQTT简介
总体概要: MQTT系列文章分为4部分 1.MQTT简介 2.mosquitto服务器搭建 3.编写Mosquitto的可视化工具 4.使用Mosquitto完成Android推送服务 文章钢要: 对 ...
- java复杂枚举
枚举以红绿灯为例,红灯30s后为绿灯,绿灯45s后为黄灯,黄灯5s后为红灯.具体的枚举代码如下: public enum TrafficLamp{ RED(30){ public TrafficLam ...
- .net MVC 简单图片上传
主要完成的是在网页上 上传一张图片到服务器 我搜出来的上传文件代码都特别复杂,对于初学者来说,先解决能上传的问题才最重要,并不需要特别多的功能,仅适合不会上传的初学者,大神请绕路,错误请指出,谢谢 v ...
- ajax提交form表单
1. ajax提交form表单和不同的form表单的提交主要区别在于,ajax提交表单是异步提交的,而普通的是同步提交的表单. 2. from视图部分 <form id="loginF ...
- SVN安装及使用
1.SVN的安装 1.1 安装软件 以下图1中两个图标,分别是SVN服务器端和客户端安装软件 图1 1.2 服务器安装步骤 先点击图1第一个图标,安装SVN的服务器,默认安装即可,安装成功的界面如下图 ...
- linux的安装
在CentOS 7中提供了两种桌面"GNOME DESKTOP" 和 "KDE Plasa Workspaces",我们以安装"GNOME DESKT ...
- iOS开发之如何跳到系统设置里的各种设置界面
跳到更多设置界面 除了跳到WiFi设置界面,能不能跳到其他的设置界面呢?比如:定位服务.FaceTime.音乐等等.都是可以的,一起来看看如何实现的! 定位服务 定位服务有很多APP都有,如果用户关闭 ...
- 51nod1134(最长递增子序列)
题目链接: https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1134 题意: 中文题诶~ 思路: 直接暴力的话时间复杂度为 ...