mongodb 统计每个班级的男女人数 mongodb统计

导读:MongoDB是一种非关系型数据库,它具有高性能、可扩展性和灵活性等特点 。在实际应用中,我们可以通过统计数据来了解数据库的使用情况,以便更好地优化和管理数据库 。本文将介绍MongoDB的常见统计方法及其实现方式 。
1. 统计数据库大小
使用db.stats()方法可以获取当前数据库的统计信息,包括数据大小、索引大小、存储大小等 。例如:
db.stats()
输出结果如下:
{
"db" : "test",
"collections" : 3,
"views" : 0,
"objects" : 10000,
"avgObjSize" : 110,
"dataSize" : 1100000,
"storageSize" : 233472,
"numExtents" : 0,
"indexes" : 2,
"indexSize" : 16384,
"fileSize" : 67108864,
"ok" : 1
}
其中,dataSize表示数据大?。琲ndexSize表示索引大小,storageSize表示存储大小 。
2. 统计集合大小
使用collstats命令可以获取指定集合的统计信息,包括数据大小、索引大小、存储大小等 。例如:
db.runCommand( { collstats: "users" } )
"ns" : "test.users",
"count" : 10000,
"size" : 1100000,
"capped" : false,
"wiredTiger" : {
"metadata" : {
"formatVersion" : 1
},
"creationString" : "access_pattern_hint=none,allocation_size=4KB,app_metadata=http://data.evianbaike.com/MongoDB/(formatVersion=1),block_allocation=best,block_compressor=snappy,cache_resident=false,checksum=on,colgroups=,collator=,columns=,dictionary=0,encryption=(keyid=,name=),exclusive=false,extractor=,format=btree,huffman_key=,huffman_value=,ignore_in_memory_cache_size=false,key_format=q,key_gap=10,leaf_item_max=0,leaf_page_max=32768,leaf_value_max=64MB,log=(enabled=true),lsm=(auto_throttle=true,bloom=true,bloom_bit_count=16,bloom_config=,bloom_hash_count=8,bloom_localhost=true,bloom_localhost_port=0,chunk_count_limit=0,chunk_max=5GB,chunk_size=100MB,compaction=(class=,max_size=0B,merge_overlap=0,merge_similar=false,target=250),memory_budget=0B,memory_extra_percent=10,memory_page_max=10KB,memory_page_size=4KB,min_split_pct=10,os_cache_dirty_max=0,os_cache_max=0,prefix_compression=false,prefix_compression_min=0,source=,split_deepen_min_child=0,split_deepen_per_child=0,split_pct=90,type=file,value_format=u",
"type" : "file",
"uri" : "statistics:table:collection-3--3385637307114702287"
【mongodb 统计每个班级的男女人数 mongodb统计】},
"indexDetails" : {
"_id_" : {
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_",
"background" : false,
"unique" : true,
"sparse" : false,
"expireAfterSeconds" : null,
"storageEngine" : {
"wiredTiger" : {
"configString" : "block_compressor=snappy"
}
}
"username_1" : {
"username" : 1
"name" : "username_1",
"unique" : false,
}
其中,size表示数据大?。?storageSize表示存储大小 。
3. 统计索引使用情况
使用db.collection.aggregate()方法可以获取指定集合的索引使用情况 。例如:
db.users.aggregate( [
{ $indexStats: { } }
] )
"name" : "_id_",
"key" : {
"_id" : 1
"host" : "localhost:27017",
"accesses" : {
"ops" : 10000,
"since" : ISODate("2022-01-01T00:00:00.000Z"),
"readLock" : NumberLong(10000),
"writeLock" : NumberLong(0)
}
},
"name" : "username_1",
"username" : 1
其中

    推荐阅读