Megosztás a következőn keresztül:


$changeStream (összesítés)

Vonatkozik a következőkre: MongoDB virtuális mag

Az $changeStream aggregációs szakasz megnyitja a változásstream-kurzort, amely valós időben követi nyomon az adatváltozásokat. Ez a szakasz lehetővé teszi az alkalmazások számára, hogy reagáljanak a gyűjteményben előforduló beszúrási, frissítési, törlési és egyéb műveletekre.

Szemantika

A szakasz szintaxisa a $changeStream következő:

{
  $changeStream: {
    allChangesForCluster: <boolean>,
    fullDocument: <string>,
    fullDocumentBeforeChange: <string>,
    resumeAfter: <ResumeToken>,
    startAfter: <ResumeToken>,
    startAtOperationTime: <Timestamp>,
    showExpandedEvents: <boolean>
  }
}

Paraméterek

Leírás
allChangesForCluster Opcionális. Logikai. Ha igaz, a teljes fürt módosításait adja vissza. Az alapértelmezett érték false.
fullDocument Opcionális. Szöveg. Meghatározza, hogy mit kell visszatérni a frissítési műveletekhez. Beállítások: 'default', 'updateLookup', 'whenAvailable', 'kötelező'.
fullDocumentBeforeChange Opcionális. Szöveg. A dokumentum előtagját adja vissza. Beállítások: "off", "whenAvailable", "required".
resumeAfter Opcionális. A jogkivonat folytatása a stream egy adott esemény utáni módosításának folytatásához.
startAfter Opcionális. A jogkivonat folytatása a stream egy adott esemény utáni módosításához.
startAtOperationTime Opcionális. időbélyeg egy adott időpontról történő változásfolyam indításához.
showExpandedEvents Opcionális. Logikai. Adjon meg egy másik változásstream-eseményt is. Az alapértelmezett érték false.

példa

Nézzük meg az adatkészlet valós idejű változások figyelésére való használatát stores .

1. példa: Az áruházak gyűjteményének összes módosításának figyelése

A példa bemutatja, hogyan állíthat be változásstreamet az áruházgyűjtemény összes változásának figyeléséhez.

db.stores.aggregate([
  {
    $changeStream: {
      fullDocument: "updateLookup"
    }
  }
])

Egy tárdokumentum frissítésekor a változásfolyam a teljes dokumentummal visszaadja a változáseseményt.

{
  "_id": { "_data": "AeARBpQ/AAAA" },
  "operationType": "update",
  "fullDocument": {
    "_id": "905d1939-e03a-413e-a9c4-221f74055aac",
    "name": "Trey Research | Home Office Depot - Lake Freeda",
    "sales": {
      "revenue": 42500
    },
    "company": "Trey Research",
    "lastUpdated": ISODate("2024-06-16T10:30:00.000Z")
  },
  "ns": {
    "db": "StoreData",
    "coll": "stores"
  },
  "documentKey": {
    "_id": "905d1939-e03a-413e-a9c4-221f74055aac"
  }
}
  • A MongoDB-ről az Azure Cosmos DB for MongoDB-re (vCore) való migrálás lehetőségeinek áttekintése
  • További információ a MongoDB-vel való funkciókompatibilitásról