몽고db 몽고 / mongo command
mongodb commands
mongodb 사용량 관련 commands
db.mycollection2.storageSize();
db.mycollection2.totalIndexSize();
db.mycollection2.totalSize();
아래처럼 collection 의 storage size 와 index size 를 확인할 수 있다.
db.mycollection2.totalIndexSize();
db.mycollection2.storageSize();
db.mycollection2.totalSize();
// collection 을 string 으로 표현하는 법
db["collection-have-dash"].storageSize();
db.mycollection2.stats()
는 db.runCommand( { collStats : "mycollection2", scale: 1 } )
의 wrapper 이다.
db.runCommand( { collStats : "mycollection2", scale: 1 } )
db.mycollection2.stats();
db.mycollection2.stats({scale: 1024 * 1024});
: size 의 표시 단위를 변경할 수 있다. 기본은 byte 이다.
stats 를 하면 아래같은 결과를 볼 수 있다. size 와 storageSize 가 다른 이유 는 압축(compression) 때문이다.
/* 1 */
{
"ns" : "mydb.mycollection2",
"size" : 74590772,
"count" : 147302,
"avgObjSize" : 506,
"storageSize" : 22032384, // storageSize() 값과 같다.
"capped" : false,
"wiredTiger" : {
"metadata" : {
"formatVersion" : 1
},
"creationString" : "...",
"type" : "file",
"uri" : "statistics:table:collection-32933-5998169951348003341",
"LSM" : {
...
},
"block-manager" : {
...
},
"btree" : {
...
},
"cache" : {
...
},
"cache_walk" : {
...
},
"compression" : {
...
},
"cursor" : {
...
},
"reconciliation" : {
...
},
"session" : {
...
},
"transaction" : {
"update conflicts" : 0
}
},
"nindexes" : 1,
"totalIndexSize" : 1355776,
"indexSizes" : {
"_id_" : 1355776
},
"ok" : 1.0
}
$bsonSize
: collection 에 있는 모든 document 들의 총 size 를 구할 수 있다. mongodb version 4.4 이후부터 가능
db.mycollection2.aggregate([
{
$group: {
"_id": null,
"rootSize": { $sum: { $bsonSize: "$$ROOT" } }
}
}
])
- `
db.mycollection2.count()
: : collection 내의 document 수를 알려준다. db.mycollection2.countDocuments()
: collection 내의 document 수를 알려준다. mongodb v4.0 이후부터
여러개의 결과를 묶어서 보고 싶은 경우
아래처럼 for 문으로 한번에 여러개를 수행하면, 결과를 한꺼번에 보여준다. 마지막 statement 로 total
을 찍으면 total 의 값을 보여준다. 그래서 for 문안에 total
을 넣어놨다.
var total = {
size: 0,
count: 0,
};
var a = ["mycollection1", "mycollection2"]
for (var i = 0; i < a.length; i++) {
var r = db.runCommand( { collStats : a[i], scale: 1 } )
total.size += r.size
total.count += r.count
total
}
댓글 없음:
댓글 쓰기