ANNOUNCEMENT: Voyage AI joins MongoDB to power more accurate and trustworthy AI applications on Atlas.
Learn more
Docs Menu

cursor.readPref()

이 페이지의 내용

cursor.readPref(mode, tagSet, hedgeOptions)

중요

Mongo쉬 방법

이 페이지에서는 mongosh 메서드에 대해 설명합니다. 이는 Node.js와 같은 언어별 드라이버에 대한 설명서가 아닙니다.

MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 설명서를 참조하세요.

커서에 readPref() 를 추가하여 클라이언트가 쿼리를 복제본 세트의 멤버로 라우팅하는 방법을 제어합니다.

참고

데이터베이스에서 문서를 검색하기 전에 커서에 readPref()을 적용해야 합니다.

Parameter
유형
설명

문자열

문서 배열

선택 사항. 지정된 태그가 있는 멤버에게 읽기 대상을 지정하는 데 사용되는 태그 세트 입니다. tagSet 은 사용할 수 없습니다 primary

자세한 내용은 읽기 설정 (read preference) 태그 세트 목록을 참조하세요.

문서

MongoDB 8.0헤지된 읽기(hedged read)는 MongoDB 부터 더 이상 사용되지 않습니다. 읽기 설정 (read preference) 을 지정하는 nearest 쿼리는 더 이상 기본값 헤지된 읽기(hedged read)를 사용하지 않습니다. 헤지된 읽기( 헤지된 읽기 (hedged read))를 명시적으로 지정하면 MongoDB 는 헤지된 읽기( 헤지된 읽기 (hedged read) read)를 수행하고 경고를 기록합니다.

선택 사항. 헤지된 읽기( hedged read) 사용 여부를 지정하는 문서입니다.

{ enabled: <boolean> }

enabled 필드의 기본값은 true입니다. 즉, 빈 문서 { } 을 지정하는 것은 { enabled: true } 를 지정하는 것과 같습니다.

readPref()는 읽기 설정에 대한 읽기 설정 maxStalenessSeconds 옵션을 지원하지 않습니다.

이 메서드는 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

참고

이 명령은 모든 MongoDB Atlas 클러스터에서 지원됩니다. 모든 명령에 대한 Atlas 지원에 관해 자세히 알아보려면 지원되지 않는 명령을 참조하십시오.

다음 작업은 읽기 설정 모드 를 사용하여 읽기 대상을 세컨더리 멤버로 지정합니다.

db.collection.find({ }).readPref( "secondary")

특정 태그가 있는 세컨더리를 대상으로 하려면 modetagSet 배열을 모두 포함합니다.

db.collection.find({ }).readPref(
"secondary",
[
{ "datacenter": "B" }, // First, try matching by the datacenter tag
{ "region": "West"}, // If not found, then try matching by the region tag
{ } // If not found, then use the empty document to match all eligible members
]
)

세컨더리 선택 프로세스에서 MongoDB는 datacenter: "B" 태그가 있는 세컨더리 멤버를 먼저 찾으려고 합니다.

  • 발견되면 MongoDB는 적격 세컨더리를 datacenter: "B" 태그가 있는 세컨더리로 제한하고 나머지 태그를 무시합니다.

  • 아무것도 발견되지 않으면 MongoDB는 "region": "West" 태그를 사용하여 세컨더리 멤버를 찾으려고 시도합니다.

    • 발견되면 MongoDB는 적격 세컨더리를 "region": "West" 태그가 있는 세컨더리로 제한합니다.

    • 아무것도 발견되지 않으면 MongoDB는 적격 세컨더리를 사용합니다.

자세한 내용 은 태그 일치 순서를 참조하세요.

다음도 참조하세요.

샤딩된 클러스터의 경우 프라이머리가 아닌 읽기 설정 (read preference) 에 대한 헤지된 읽기( hedged read )를 활성화 할 수 있습니다. 헤지된 읽기(hedged read)를 사용하려면 mongos 에 헤지된 읽기(hedged read)에 대한 enabled support 가 있어야 하며( 기본값) primary 이 아닌 읽기 설정 에서 헤지된 읽기(hedged read)를 활성화 있어야 합니다.

헤지된 읽기를 사용하여 샤딩된 클러스터의 세컨더리를 대상으로 하려면 다음 예와 같이 모드hedgeOptions를 모두 포함해야 합니다.

  • 태그 세트 없이

    db.collection.find({ }).readPref(
    "secondary", // mode
    null, // tag set
    { enabled: true } // hedge options
    )
  • 태그 세트 포함

    db.collection.find({ }).readPref(
    "secondary", // mode
    [ { "datacenter": "B" }, { } ], // tag set
    { enabled: true } // hedge options
    )

이 페이지의 내용