MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana cara mengatur MongoDB Change Stream 'OperationType' di driver C #?

Berikut adalah contoh kode yang saya gunakan untuk memperbarui koleksi Arloji untuk mengambil "peristiwa" selain pembaruan dokumen.

IMongoDatabase sandboxDB = mongoClient.GetDatabase("Sandbox");
IMongoCollection<BsonDocument> collection = sandboxDB.GetCollection<BsonDocument>("TestCollection");

//Get the whole document instead of just the changed portion
ChangeStreamOptions options = new ChangeStreamOptions() { FullDocument = ChangeStreamFullDocumentOption.UpdateLookup };

//The operationType can be one of the following: insert, update, replace, delete, invalidate
var pipeline = new EmptyPipelineDefinition<ChangeStreamDocument<BsonDocument>>().Match("{ operationType: { $in: [ 'replace', 'insert', 'update' ] } }");

var changeStream = collection.Watch(pipeline, options).ToEnumerable().GetEnumerator();
changeStream.MoveNext();    //Blocks until a document is replaced, inserted or updated in the TestCollection
ChangeStreamDocument<BsonDocument> next = changeStream.Current;
enumerator.Dispose();

Argumen EmptyPiplineDefinition...Match() juga dapat berupa:

"{ $or: [ {operationType: 'replace' }, { operationType: 'insert' }, { operationType: 'update' } ] }"

Jika Anda ingin menggunakan perintah $or, atau

"{ operationType: /^[^d]/  }"

untuk membuang sedikit regex di sana. Yang terakhir ini mengatakan, saya ingin semua OperationTypes kecuali jika dimulai dengan huruf 'd'.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. saya mendapatkan kesalahan berikut saat menghubungkan ke server mongodb

  2. Bagaimana cara menghapus banyak koleksi mongodb sekaligus?

  3. Dapatkan jumlah koneksi terbuka di mongoDB menggunakan java

  4. Virtual Mongoose di Agregat MongoDB

  5. Mempersiapkan Server MongoDB untuk Produksi