Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

$indexStats (aggregation)

項目一覧

  • 定義
  • 動作
$indexStats

コレクションの各インデックスの使用に関する統計を返します。 アクセス制御を使用して実行している場合は、少なくともclusterMonitorロールを持つユーザーとして認証します。

$indexStatsステージは空のドキュメントを受け取り、次の構文を使用します。

{ $indexStats: { } }

各インデックスについて、返されるドキュメントには次のフィールドが含まれます。

出力フィールド
説明
name
インデックス名。

インデックスキーの指定。

仕様 」も参照してください。

mongod プロセスのホスト名とポート。

インデックスの使用に関する統計:

  • ops は、インデックスを使用した操作の数です。

  • since は、MongoDBが統計を収集した時刻です。

ホストに関連付けられているシャードの名前

シャーディングされたクラスターでのみ使用できます。

インデックスの完全な仕様ドキュメントで、インデックス キーとインデックス プロパティが含まれます。

インデックス オプション hidden は、値が true の場合にのみ含まれます。

インデックスが現在構築中かどうかを示します。

trueの場合にのみ使用できます。

アクセス フィールドによって報告される統計は、クエリが実行されているノードにのみ適用され、ユーザーのリクエストによって行われたインデックスへのアクセスのみが含まれます。TTL インデックスによる削除や、チャンクの分割操作や移行操作などの内部操作は含まれません。

  • mongod の再起動時またはインデックスの削除と再作成時のインデックス リセットの統計。

  • 既存のインデックスを変更すると(collMod コマンドを参照)、そのインデックスの統計がリセットされます。

たとえば、コレクション orders に次のドキュメントが含まれているとします。

db.orders.insertMany( [
{ _id : 1, item : "abc", price : 12, quantity : 2, type: "apparel" },
{ _id : 2, item : "jkl", price : 20, quantity : 1, type: "electronics" },
{ _id : 3, item : "abc", price : 10, quantity : 5, type: "apparel" }
] )

コレクションに次の 2 つのインデックスを作成します。

db.orders.createIndex( { item: 1, quantity: 1 } )
db.orders.createIndex( { type: 1, item: 1 } )
db.orders.createIndex(
{ price: 1 },
{ partialFilterExpression: { type: "apparel" } }
)

コレクションに対していくつかのクエリを実行します。

db.orders.find( { type: "apparel"} )
db.orders.find( { item: "abc" } ).sort( { quantity: 1 } )
db.orders.find( { price: { $gt: 10 } } )

orders コレクションのインデックス使用に関する統計を表示するには、次の集計操作を実行します。

db.orders.aggregate( [ { $indexStats: { } } ] )

この操作では、各インデックスの使用状況統計を含むドキュメントが返されます。

[
{
name: 'type_1_item_1',
key: { type: 1, item: 1 },
host: 'examplehost.local:27018',
accesses: { ops: Long("1"), since: ISODate("2024-05-02T15:07:21.420Z") },
shard: "shardA",
spec: { v: 2, key: { type: 1, item: 1 }, name: 'type_1_item_1' }
},
{
name: 'item_1_quantity_1',
key: { item: 1, quantity: 1 },
host: 'examplehost.local:27018',
accesses: { ops: Long("1"), since: ISODate("2024-05-02T15:07:21.254Z") },
shard: "shardA",
spec: { v: 2, key: { item: 1, quantity: 1 }, name: 'item_1_quantity_1' }
},
{
name: '_id_',
key: { _id: 1 },
host: 'examplehost.local:27018',
accesses: { ops: Long("0"), since: ISODate("2024-05-02T15:07:13.274Z") },
shard: "shardA",
spec: { v: 2, key: { _id: 1 }, name: '_id_' }
},
{
name: 'price_1',
key: { price: 1 },
host: 'examplehost.local:27018',
accesses: { ops: Long("0"), since: ISODate("2024-05-02T15:07:54.847Z") },
shard: "shardA",
spec: {
v: 2,
key: { price: 1 },
name: 'price_1',
partialFilterExpression: { type: 'apparel' }
}
}
]

戻る

$group

項目一覧