MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak ustawić MongoDB Change Stream "OperationType" w sterowniku C#?

Oto przykładowy kod, którego użyłem do aktualizacji kolekcji Watch, aby pobrać „zdarzenia” inne niż tylko aktualizacje dokumentów.

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();

Argument EmptyPiplineDefinition...Match() może mieć również postać:

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

Jeśli chcesz użyć polecenia $lub lub

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

wrzucić tam trochę wyrażenia regularnego. Ten ostatni mówi, chcę wszystkie typy operacji, chyba że zaczynają się na literę „d”.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak programowo wykonać polecenie mongodump z node.js?

  2. mongodb sprawdź, czy punkt jest w wieloboku

  3. MongoDB- Pobieranie dokładnego elementu tablicy, z wyłączeniem innych

  4. MongoDB sum() dane

  5. Jak przekonwertować właściwość w MongoDB z tekstu na typ daty?