예, MongoDB $indexStats를 사용하여 쿼리에서 각 인덱스가 사용된 횟수를 추적할 수 있습니다. 다음은 MongoDB에서 인덱스를 생성하는 쿼리입니다 -
> db.demo508.createIndex({"FirstName":1}); { "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }
문서로 컬렉션을 만들자 −
> db.demo508.insertOne({"FirstName":"John"});{ "acknowledged" : true, "insertedId" : ObjectId("5e883818987b6e0e9d18f578") } > db.demo508.insertOne({"FirstName":"Chris"});{ "acknowledged" : true, "insertedId" : ObjectId("5e88381b987b6e0e9d18f579") } > db.demo508.insertOne({"FirstName":"David"});{ "acknowledged" : true, "insertedId" : ObjectId("5e88381f987b6e0e9d18f57a") }
find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -
> db.demo508.find();
이것은 다음과 같은 출력을 생성합니다 -
{ "_id" : ObjectId("5e883818987b6e0e9d18f578"), "FirstName" : "John" } { "_id" : ObjectId("5e88381b987b6e0e9d18f579"), "FirstName" : "Chris" } { "_id" : ObjectId("5e88381f987b6e0e9d18f57a"), "FirstName" : "David" }
다음은 쿼리에서 각 인덱스가 사용된 횟수를 추적하는 쿼리입니다 -
> db.demo508.aggregate([{ $indexStats: { } }]).pretty();
이것은 다음과 같은 출력을 생성합니다 -
{ "name" : "_id_", "key" : { "_id" : 1 }, "host" : "DESKTOP-QN2RB3H:27017", "accesses" : { "ops" : NumberLong(0), "since" : ISODate("2020-04-04T07:32:27.394Z") } } { "name" : "FirstName_1", "key" : { "FirstName" : 1 }, "host" : "DESKTOP-QN2RB3H:27017", "accesses" : { "ops" : NumberLong(0), "since" : ISODate("2020-04-04T07:32:27.527Z") } }