정의
- $listLocalSessions
- 버전 3.6에 새로 추가되었습니다. - mongod또는- mongos인스턴스 에 의해 메모리에 캐시된 세션을 나열합니다.- 중요- 사용자가 - mongod또는- mongos인스턴스에서 세션을 생성하면 처음에는 세션의 기록이 인스턴스의 인메모리(인스턴스 로컬)에만 존재합니다. 인스턴스는 주기적으로 캐시된 세션을- config데이터베이스의- system.sessions컬렉션에 동기화하며, 이 때- $listSessions및 배포의 모든 멤버가 해당 세션을 볼 수 있습니다. 세션 레코드가- system.sessions컬렉션에 존재할 때까지는- $listLocalSessions작업을 통해서만 세션을 나열할 수 있습니다.- $listLocalSessions작업은- db.collection.aggregate()가 아닌- db.aggregate()메서드를 사용합니다.- $listLocalSessions를 실행하려면 파이프라인의 첫 번째 단계여야 합니다.- 이 단계에는 다음 구문이 있습니다. - { $listLocalSessions: <document> } - $listLocalSessions단계는 다음 내용 중 하나가 포함된 문서를 사용합니다.필드설명- { }- 액세스 제어와 함께 실행하는 경우 현재 인증된 사용자에 대한 모든 세션을 반환합니다. - 액세스 제어 없이 실행하는 경우 모든 세션을 반환합니다. - { users: [ { user: <user>, db: <db> }, ... ] }- 지정된 사용자에 대한 모든 세션을 반환합니다. 액세스 제어와 함께 실행하는 경우 인증된 사용자는 cluster에서 - listSessions조치가 있는 권한이 있어야 다른 사용자의 세션을 나열할 수 있습니다.- { allUsers: true }- 모든 사용자에 대한 모든 세션을 반환합니다. 액세스 제어와 함께 실행하는 경우 인증된 사용자는 클러스터에서 - listSessions작업이 있는 권한이 있어야 합니다.
제한 사항
$listLocalSessions 은(는) 거래에서 허용되지 않습니다.
예시
모든 로컬 세션 나열
연결된 mongod / mongos 인스턴스의 세션 내 메모리 내 캐시에서 다음 애그리게이션 작업은 모든 세션을 나열합니다.
참고
액세스 제어를 사용하여 실행하는 경우 현재 사용자는 cluster에 대해 listSessions 조치가 있는 권한이 있어야 합니다.
db.aggregate( [  { $listLocalSessions: { allUsers: true } } ] ) 
지정된 사용자에 대한 모든 로컬 세션 나열
다음 애그리게이션 작업은 연결된 mongod / mongos 인스턴스의 인메모리 캐시에서 지정된 사용자 myAppReader@test 에 대한 모든 세션을 나열합니다.
참고
액세스 제어와 함께 실행 중이고 현재 사용자가 지정된 사용자가 아닌 경우 현재 사용자에게 cluster에 대한 listSessions 조치가 있는 권한이 있어야 합니다.
db.aggregate( [ { $listLocalSessions: { users: [ { user: "myAppReader", db: "test" } ] } } ] ) 
현재 사용자에 대한 모든 로컬 세션 나열
다음 애그리게이션 작업을 액세스 제어와 함께 실행 mongod 하면 연결된 / 인스턴스의 인메모리 캐시에서 현재 사용자에 대한 모든 세션이 나열됩니다. mongos
db.aggregate( [ { $listLocalSessions: { } } ] ) 
액세스 제어 없이 실행하면 작업이 모든 로컬 세션을 나열합니다.