定義
cursor.readPref(mode, tagSet)重要
mongosh メソッド
このページでは メソッドについて説明します。これはNode.jsなどの言語固有のドライバーのドキュメントではありません
mongosh。MongoDB API ドライバーについては、各言語の「MongoDB ドライバーのドキュメント」を参照してください。
readPref()カーソルに を追加して、クライアントがレプリカセットのメンバーにクエリをルーティングする方法を制御します。注意
readPref()データベースからドキュメントを取得する前に、カーソルに を適用する必要があります。
パラメーター
Parameter | タイプ | 説明 |
|---|---|---|
string | 次の 読み取り設定 モードのいずれか: | |
ドキュメントの配列 | 任意。 指定されたタグを持つメンバーへの読み取りをターゲットにするために使用されるタグセット。 詳しくは、「読み込み設定(read preference)のタグセット リスト」を参照してください。 |
readPref()は 読み込み設定(read preference) の 読み込み設定(読み込み設定 (read preference) maxStalenessSecondsオプションをサポートしていません。
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
- MongoDB Atlas はクラウドでの MongoDB 配置のための完全管理サービスです
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
例
読み込み設定(read preference)モードを指定する
次の操作では、 読み込み設定(read preference)モードを使用して、セカンダリ メンバーへの読み取りをターゲットにします。
db.collection.find({ }).readPref( "secondary")
読み込み設定(read preference)のタグセットを指定する
特定のタグを持つセカンダリを対象とするには、モードとtagsSet配列の両方を含めます。
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 は適格なセカンダリを使用します。
詳しくは、「タグの一致順序」を参照してください。