翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
$changeStream
Elastic クラスターではサポートされていません。
$changeStream 集約ステージで変更ストリームカーソルを開き、コレクションへのリアルタイムの変更をモニタリングします。挿入、更新、置換、または削除オペレーションが発生すると、変更イベントドキュメントが返されます。
パラメータ
-
fullDocument: 更新オペレーションのために完全なドキュメントを返すかどうかを指定します。オプションはdefaultまたはupdateLookupです。 -
resumeAfter: オプション。トークンを再開して、変更ストリームの特定のポイントから続行します。 -
startAtOperationTime: オプション。変更ストリームを開始するタイムスタンプ。 -
allChangesForCluster: オプション。ブール値。の場合true、 はクラスター全体のすべての変更を監視します (管理者データベース用)。false(デフォルト) の場合、 は指定されたコレクションのみを監視します。 -
showExpandedEvents: オプション。ブール値。の場合true、 は変更ストリームcreateIndexesにcreateCollectionや などの拡張データ定義言語 (DDL) イベント通知を含めます。false(デフォルト) の場合、これらのイベントは返されません。エンジンバージョン 8.0.2 以降、Amazon DocumentDB 8.0 で使用できます。
例 (MongoDB シェル)
次の例は、 $changeStreamステージを使用してコレクションの変更をモニタリングする方法を示しています。
クエリの例
// Open change stream first const changeStream = db.inventory.aggregate([ { $changeStream: { fullDocument: "updateLookup" } } ]); // In another session, insert a document db.inventory.insertOne({ _id: 1, item: "Widget", qty: 10 }); // Back in the first session, read the change event if (changeStream.hasNext()) { print(tojson(changeStream.next())); }
出力
{
_id: { _data: '...' },
operationType: 'insert',
clusterTime: Timestamp(1, 1234567890),
fullDocument: { _id: 1, item: 'Widget', qty: 10 },
ns: { db: 'test', coll: 'inventory' },
documentKey: { _id: 1 }
}
コードの例
$changeStream 集約ステージを使用するコード例を表示するには、使用する言語のタブを選択します。