我從 mongo shell 得到以下輸出:
mongos> var test=db.collection.stats().shards;for(key in test) printjson( key " -> "
test[key].totalIndexSize)
"shard0_v2 -> 24782991360"
"shard4_v2 -> 36988542976"
"shard2_v2 -> 27401830400"
"shard3_v2 -> 21079486464"
"shard1_v2 -> 21052264448"
mongos>
我需要按如下方式排序的輸出:
"shard0_v2 -> 24782991360"
"shard1_v2 -> 21052264448"
"shard2_v2 -> 27401830400"
"shard3_v2 -> 21079486464"
"shard4_v2 -> 36988542976"
請在 mongo shell 中建議一些快速簡便的選項?
uj5u.com熱心網友回復:
您絕對應該嘗試進行聚合,因為框架已為此完成。
但如果你想要快速而骯臟的東西:
假設:
test = {
"shard0_v2": {
"totalIndexSize": 24782991360
},
//... others objects
}
解決方案是:
Object.keys(test)
.map((shardId) => {
return `${shardId} -> ${test[shardId].totalIndexSize}`;
})
.sort()
.forEach((line) => console.log(line))
uj5u.com熱心網友回復:
謝謝 @mcanzerini ,最后得到了這個:
mongos> var x=[];var test=db.collection.stats().shards;for(key in test) x.push(
key "->" test[key].totalIndexSize);x.sort()
[
"shard0_v2->24783155200",
"shard1_v2->36988542976",
"shard2_v2->27401818112",
"shard3_v2->21068120064",
"shard4_v2->21080612864"
]
mongos>
你的也很好用:
mongos> var test=db.collection.stats().shards;Object.keys(test).map((shardId) => {return `${shardId} -> ${test[shardId].totalIndexSize}`;}).sort().forEach(function(line){print(line)})
shard0_v2 -> 24783155200
shard1_v2 -> 36988542976
shard2_v2 -> 27401818112
shard3_v2 -> 21071474688
shard4_v2 -> 21080666112
mongos>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/366829.html
上一篇:在mongodb中查找聚合資料
