이전 버전에서는 MongoDB 2.6에서 DBCollection 클래스에이 메소드 getStats()가 있습니다. 새로운 3.X 버전에서 MongoDB에서 모음집 통계 가져 오기 3.2
DBCollection.getStats()
, 우리는 새로운 클래스를
MongoCollection
을 가지고 있고 그것은 통계를 얻을 수있는 방법이 없습니다.
내 질문
이전 버전에서는 MongoDB 2.6에서 DBCollection 클래스에이 메소드 getStats()가 있습니다. 새로운 3.X 버전에서 MongoDB에서 모음집 통계 가져 오기 3.2
DBCollection.getStats()
, 우리는 새로운 클래스를
MongoCollection
을 가지고 있고 그것은 통계를 얻을 수있는 방법이 없습니다.
내 질문
그래서 내가 당신을 위해 해결책을 발견했습니다 생각 MongoCollection 클래스에서 통계를 얻는 방법이다. 그것은 조금 hackish하지만, 내가 읽고 있던 것에서, 나는 그 주위에 다른 방법을 찾을 수 없었다. 나는 몽고 (Mongo)의 자료를 읽고 있었고 운전자를 조금 단순화하고 수집 가능한 방법의 양을 줄였다 고 말하고 있었다. 나는 getStats()
이 아마도 당신이 자주하는 것처럼 보이지 않기 때문에 아마 잘릴 것이라고 생각할 것입니다. 적어도 어쨌든 대부분의 경우에 프로그래밍 방식으로는 안됩니다. 그래서 여기에 당신이 무엇입니까 수 할 :
먼저, MongoDatabase 개체는 runCommand()
메서드가됩니다. 3.0 driver docs
here을 보면 runCommand()
으로 실행할 수있는 모든 명령 목록을 볼 수 있습니다.
이러한 명령 중 하나는 collStats입니다.
{
collStats: <string>,
scale: <int>,
verbose: <boolean>
}
collStats 당신이 통계를하려는 컬렉션의 문자열 이름입니다 문서를 기반으로, 당신이 실행 명령을 다음과 같은 형식을 가진 Bson 객체를 전달하려는 것 같다. 축척은 선택적 필드입니다. 당신은 마지막 링크에서 그것에 대해 읽을 수 있습니다. 자세한 정보의 기본값은 false입니다.
나는 이것이 당신이 원하는 것을 얻을 것이라는 것을 확실히 모른다. 그러나 적어도 당신을 꽤 가까이하게 할 것이다. 그것이 어떻게 작동하는지 알려주세요!
예 지난 주에 db.runCommand()를 사용했는데 –
Fatnastic에서 작동했습니다. 그럼 당신이 투표를하고 제 대답을 받아 들일 수 있을까요? –
MongoCollection이 인터페이스라는 것을 알고 있습니다. 그러나 Mongodatabase.getCollection()은 MongoCollection을 반환하고 V3.2 java 드라이버에서 컬렉션 통계를 검색하는 방법을 모르겠다 –
이것이 작동하는지 알 수 없지만 MongoCollection을 DBCollection? –
시도했으나 작동하지 않았습니다. –