热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MongoDB数据库常用命令收集

查看命令的方式:1.在shell中运行db.listCommands()2.在浏览器中访问管理员接口:http://ipaddress:28017/_commands下面介绍在Mongodb中最经常使用的命令,具体如下:命令:buildInfo格式:{buildInfo:1}介绍:管理专用命令,返回Mongodb服务器

查看命令的方式:

1.在shell中运行db.listCommands()

2.在浏览器中访问管理员接口:http://ipaddress:28017/_commands

下面介绍在Mongodb中最经常使用的命令,具体如下:

命令:buildInfo

格式:{"buildInfo":1}

介绍:管理专用命令,返回Mongodb服务器的版本号和主机的操作系统。

示例:

> 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}

介绍:返回指定集合的统计信息,包括数据大小、已分配的存储空间和索引的大小。

示例:

> 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}

介绍:列出指定集合中满足查询条件的文档的指定键的所有不同值

示例:

> 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}

介绍:删除集合的所有数据

示例:

> 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的索引,如果名称为"*",则删除全部索引。

示例:

> 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

格式:

介绍:查找并修改

示例:

> 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台服务器复制集合的最后操作之前,这个命令会阻塞。

示例:

> db.runCommand({"getLastError":1}){ "n" : 0, "connectionId" : 2, "err" : null, "ok" : 1 }

命令:isMaster

格式:{"isMaster":1}

介绍:检查本服务器是主服务器还是从服务器

示例:

> db.runCommand({"isMaster":1}){ "ismaster" : true, "maxBsonObjectSize" : 16777216, "ok" : 1 }

命令:listCommands

格式:{"listCommands":1}

介绍:返回所有可以在服务器上运行的命令及相关信息。

示例: 返回结果太多,示例就省略了

命令:listDatabases

格式:{"listDatabases":1}

介绍:管理专用命令,列出服务器上所有的数据库

示例:

> 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}

介绍:检查服务器链接是否正常。即便服务器上锁了,这条命令也会立刻返回

示例:

> db.runCommand({"ping":1}){ "ok" : 1 }

命令:renameCollection

格式:{"renameCollection":a,"to":b}

介绍:将集合a重命名为b,其中a和b都必须是完整的集合命名空间(例如"test.foo"代表test数据库中的foo集合)

示例:

> db.runCommand({"renameCollection":"foo","to":"foo_bak"}){ "errmsg" : "access denied; use admin db", "ok" : 0 }> use adminswitched 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 testswitched 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}

介绍:返回这台服务器的管理统计信息。

示例:

> 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}


推荐阅读
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
  • centos php部署到nginx 404_NodeJS项目部署到阿里云ECS服务器全程详解
    本文转载自:http:www.kovli.com20170919ecs-deploy作者:Kovli本文详细介绍如何部署NodeJS项目到阿里云ECS上, ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • step1.为mongodb添加admin管理员root@12.154.29.163:~#mongoMongoDBshellversionv3.4.2connectingto:mo ... [详细]
  • 一、前言在数据库中,慢查询日志通常是用来进行优化数据库,MySQL中存在慢查询,Mongodb中也是如此。在Mongo中的慢查询属于Mon ... [详细]
author-avatar
小冰的大夢想
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有