Docs Menu
Docs Home
/
MongoDB マニュアル
/ / /

killCursors

項目一覧

  • 定義
  • 互換性
  • 構文
  • コマンドフィールド
  • 必要なアクセス権
  • killCursors およびトランザクション

バージョン 3.2 で追加

killCursors

コレクションの指定されたカーソルを強制終了します。 MongoDB ドライバーは、クライアント側のカーソル実装の一部として killCursorsコマンドを使用します。

注意

一般に、アプリケーションではkillCursorsコマンドを直接使用しないでください。

killCursorsコマンドは、強制終了するカーソルが含まれているコレクションのデータベースに対して実行する必要があります。

killCursors を実行するには、 db.runCommand( { <command> } )メソッドを使用します。

このコマンドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

注意

このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。 すべてのコマンドの詳細については、「サポートされていないコマンド 」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

このコマンドの構文は、次のとおりです。

db.runCommand( { "killCursors": <collection>, "cursors": [ <cursor id1>, ... ], comment: <any> } )

このコマンドは、次のフィールドを使用します。

フィールド
タイプ
説明
killCursors
string
コレクションの名前。
cursors
配列
強制終了するカーソルの ID。
comment
any

任意。このコマンドに添付するユーザー指定のコメント。設定すると、このコメントは以下の場所にこのコマンドの記録と合わせて表示されます。

コメントには、有効な BSON 型(string, integer, object, array など)を使用できます。

ユーザーはkillCursors特権を持っているかどうかに関係なく、いつでも自分のカーソルを強制終了できます。 カーソルは、カーソルの作成時にユーザーに関連付けられます。

ユーザーがkillAnyCursor特権を持っている場合、そのユーザーは他のユーザーが作成したカーソルであっても、 任意の カーソルを強制終了できます。

killCursorsトランザクション の最初の操作に指定することはできません。

test.restaurantsコレクションに対する次のfind操作を検討します。

use test
db.runCommand(
{ find: "restaurants",
filter: { stars: 5 },
projection: { name: 1, rating: 1, address: 1 },
sort: { name: 1 },
batchSize: 5
}
)

により、次の結果が返されます。

{
"waitedMS" : NumberLong(0),
"cursor" : {
"firstBatch" : [
{
"_id" : ObjectId("57506d63f578028074723dfd"),
"name" : "Cakes and more"
},
{
"_id" : ObjectId("57506d63f578028074723e0b"),
"name" : "Pies and things"
},
{
"_id" : ObjectId("57506d63f578028074723e1d"),
"name" : "Ice Cream Parlour"
},
{
"_id" : ObjectId("57506d63f578028074723e65"),
"name" : "Cream Puffs"
},
{
"_id" : ObjectId("57506d63f578028074723e66"),
"name" : "Cakes and Rolls"
}
],
"id" : NumberLong("18314637080"),
"ns" : "test.restaurants"
},
"ok" : 1
}

このカーソルを強制終了するには、 killCursorsコマンドを使用します。

use test
db.runCommand( { killCursors: "restaurants", cursors: [ NumberLong("18314637080") ] } )

killCursors は、次の操作の詳細を返します。

{
"cursorsKilled" : [
NumberLong("18314637080")
],
"cursorsNotFound" : [ ],
"cursorsAlive" : [ ],
"cursorsUnknown" : [ ],
"ok" : 1
}

戻る

getParameter