Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

MongoDB에서 컬렉션의 인덱스를 어떻게 표시합니까?

<시간/>

컬렉션의 인덱스를 표시하려면 getIndexes()를 사용할 수 있습니다. 구문은 다음과 같습니다 -

db.yourCollectionName.getIndexes();

개념을 이해하기 위해 문서로 컬렉션을 만들어 보겠습니다. 문서로 컬렉션을 생성하는 쿼리는 다음과 같습니다 -

> db.indexDemo.insertOne({"StudentName":"Larry","StudentAge":21});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8f7c4f2f684a30fbdfd599")
}
> db.indexDemo.insertOne({"StudentName":"Mike","StudentAge":24});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8f7c552f684a30fbdfd59a")
}

find() 메서드를 사용하여 컬렉션의 모든 문서를 표시합니다. 쿼리는 다음과 같습니다 -

> db.indexDemo.insertOne({"StudentName":"Carol","StudentAge":20});

다음은 출력입니다 -

{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8f7c5e2f684a30fbdfd59b")
}
> db.indexDemo.find().pretty();
{
   "_id" : ObjectId("5c8f7c4f2f684a30fbdfd599"),
   "StudentName" : "Larry",
   "StudentAge" : 21
}
{
   "_id" : ObjectId("5c8f7c552f684a30fbdfd59a"),
   "StudentName" : "Mike",
   "StudentAge" : 24
}
{
   "_id" : ObjectId("5c8f7c5e2f684a30fbdfd59b"),
   "StudentName" : "Carol",
   "StudentAge" : 20
}

다음은 인덱스를 생성하는 쿼리입니다 -

> db.indexDemo.createIndex({"StudentName":-1,"StudentAge":-1});

다음은 출력입니다.

{
   "createdCollectionAutomatically" : false,
   "numIndexesBefore" : 2,
   "numIndexesAfter" : 3,
   "ok" : 1
}

다음은 컬렉션의 인덱스를 표시하는 쿼리입니다. 컬렉션 이름은 "indexDemo"입니다 -

> db.indexDemo.getIndexes();

다음은 출력입니다 -

[
   {
      "v" : 2,
      "key" : {
         "_id" : 1
      },
      "name" : "_id_",
      "ns" : "test.indexDemo"
   },
   {
      "v" : 2,
      "key" : {
         "StudentName" : -1
      },
      "name" : "StudentName_-1",
      "ns" : "test.indexDemo"
   },
   {
      "v" : 2,
      "key" : {
         "StudentName" : -1,
         "StudentAge" : -1
      },
      "name" : "StudentName_-1_StudentAge_-1",
      "ns" : "test.indexDemo"
   }
]