0
点赞
收藏
分享

微信扫一扫

mongodb的db方法

 

 

 

 

 

 

方法名

描述

​​db.cloneDatabase()​​

从指定主机上克隆数据库

​​db.currentOp()​​

显示当前正在进行的操作

​​db.commandHelp()​​

返回数据库命令的帮助信息

​​db.createCollection()​​

创建一个聚集集合(table)

​​db.cloneCollection()​​

在MongoDB实例之间复制集合数据

​​db.copyDatabase()​​

从指定的机器上复制指定数据库数据到某个数据库

​​db.dropDatabase();​​

删除当前使用数据库

​​db.fsyncLock()​​

刷新写入磁盘并锁定该数据库,以防止写入操作,并协助备份操作

​​db.fsyncUnlock()​​

允许继续进行写入锁住的数据库(解锁)

​​db.getLogComponents()​​

返回日志消息详细级别

​​db.getLastErrorObj()​​

查看完整的错误结果

​​db.getMongo()​​

查看当前db的链接机器地址

​​db.getCollection()​​

得到指定名称的聚集集合(table)

​​db.getName()​​

查看当前使用的数据库

​​db.getPrevError()​​

返回包含自上次错误复位所有的错误状态文件

​​db.getCollectionNames()​​

得到当前db的所有聚集集合

​​db.getCollectionInfos()​​

返回当前数据库中的所有集合信息

​​db.getLastError()​​

返回上一次错误,如果没有错误则为空

​​db.hostInfo()​​

返回当前数据库主机系统的相关信息

​​db.killOp()​​

终止指定的操作

​​db.listCommands()​​

显示公共数据库的命令列表

​​db.logout()​​

注销登录

​​db.printCollectionStats()​​

显示当前db所有聚集索引的状态

​​db.resetError()​​

重置db.getPrevError()和getPrevError返回的错误信息

​​db.repairDatabase()​​

修复当前数据库

​​db.repairDatabase()​​

修复当前数据库

​​db.runCommand()​​

运行一个数据库命令

​​db.serverStatus()​​

返回当前数据库状态的概要

​​db.setProfilingLevel()​​

修改当前数据库的分析级别

​​db.stats()​​

显示当前db状态

​​db.shutdownServer()​​

关闭当前数据库运行实例或安全停止有关操作进程

​​db.setLogLevel()​​

设置一个单独的日志信息级别

​​db.version()​​

查看当前db版本

 

 

 

获取当前db的信息:db.stats():

返回整个数据库的基本情况。可以参入一个number类型参数,它会将数据按指定的倍数去显示数据,例如 db.stats(1024) 则按kb显示数据,默认按byte显示。

db.stats(); 
{
"db": "test",
"collections": 3,
"objects": 13,
"avgObjSize": 36,
"dataSize": 468,
"storageSize": 13312,
"numExtents": 3,
"indexes": 1,
"indexSize": 8192,
"fileSize": 201326592,
"nsSizeMB" : 16,
"dataFileVersion" : {
"major" : 4,
"minor" : 6
},
"ok": 1
}

db : “test” ,表示当前是针对”test”这个数据库的描述。

collections : 3,表示当前数据库有多少个collections.可以通过运行show collections查看当前数据库具体有哪些collection.

objects : 13,表示当前数据库所有collection总共有多少行数据。显示的数据是一个估计值,并不是非常精确。

avgObjSize : 36,表示每行数据是大小,也是估计值,单位是bytes

dataSize : 468,表示当前数据库所有数据的总大小,不是指占有磁盘大小。单位是bytes

storageSize : 13312,表示当前数据库占有磁盘大小,单位是bytes,因为mongodb有预分配空间机制,为了防止当有大量数据插入时对磁盘的压力,因此会事先多分配磁盘空间。

numExtents : 3,连续分配的数据块。

indexes : 1,索引个数。

indexSize : 8192,索引占用空间大小。

fileSize : 201326592,物理存储文件的大小。

nsSizeMB : 16,命名空间文件大小。

dataFileVersion” : {
“major” : 数据文件主版本号
“minor” : 次版本号
}。

 

 尽量不要再线上使用:db.collection_name.validate(true)

         从 MongoDB 3.6 开始,对于 WiredTiger 存储引擎,只有​​full​​验证过程将强制检查点并将所有内存中数据刷新到磁盘,然后再验证磁盘上的数据。

  1. ​​db.collection.validate()​​方法可能会占用大量资源,并且可能会影响 MongoDB 实例的性能,且执行后强制退出都没用,杀伤力较大
  2. ​​db.collection.validate()​​方法获得对集合的排他锁这将阻止对集合的所有读取和写入,直到操作完成。在辅助服务器上运行时,该操作可以阻止该辅助服务器上的所有其他操作,直到完成为止。
  3. ​​db.collection.validate()​​方法可能很慢,尤其是在较大的数据集上

 

  • 要对集合​​myCollection​​进行完全验证

db.myCollection.validate( { full: true } )

db.myCollection.validate(true)

 

 

 

 

###################################



举报

相关推荐

0 条评论