Docs Menu

MongoDB\ChangeStream::key()

MongoDB\ChangeStream::key()

変更ストリーム内の現在のイベントのインデックスを返します。

function key(): integer|null

変更ストリーム内の最初のイベントのインデックスは 0 から始まり、後続のイベントごとに 1 ずつ増加します。

変更ストリーム内の現在のイベントのインデックス。または、現在のイベントがない場合はnullMongoDB\ChangeStream::valid()false を返します)。

この例では、変更ストリームを反復処理しながら、 イベントのインデックスを報告します。

<?php
$uri = 'mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet';
$collection = (new MongoDB\Client($uri))->test->inventory;
$changeStream = $collection->watch();
for ($changeStream->rewind(); true; $changeStream->next()) {
if ( ! $changeStream->valid()) {
continue;
}
$event = $changeStream->current();
printf("%d: %s\n", $changeStream->key(), $event['operationType']);
}

上記のスクリプトが変更ストリームを反復処理している間にドキュメントが挿入、更新、および削除されたと仮定すると、出力は次のようになります。

0: insert
1: update
2: delete