title: C# - Change Streams in MongoDB with $match
body: <p>I'm trying to narrow down the Change streams in MongoDB to a specific document matching on the document's _id as I have many documents in one collection.  Anyone know how to do this in <strong><em>C#</em></strong>?  Here's the latest that I've tried to no avail:</p>
  
  <pre><code>{
      var userID = "someIdHere";
      var match = new BsonDocument
      {
          {
              "$match",
              new BsonDocument
              {
                  {"_id", userID}
              }
          }
      };
      var pipeline = new EmptyPipelineDefinition&lt;ChangeStreamDocument&lt;Class&gt;&gt;().Match(match);
  
      var options = new ChangeStreamOptions { FullDocument = ChangeStreamFullDocumentOption.UpdateLookup };
      var cursor = collection.Watch(pipeline, options).ToEnumerable();
      foreach (var change in cursor)
      {
          Debug.WriteLine(change.FullDocument.ToJson());
          Debug.WriteLine(change.ResumeToken + " " + change.OperationType);
      }
  } 
  </code></pre>
  
  <p>If I change the cursor to what you see below, it works but it returns the world and returns the change stream when there's activity on any of the _id's present in the document.  That's not what I'm going for.</p>
  
  <pre><code>var cursor = collection.Watch().ToEnumerable();
  </code></pre>