title: MongoDB Java driver Filters.expr produces incorrect filter expression
body: <p>I am trying to build a filter expression that looks like this:</p>
  
  <pre><code>{ $expr:{ $gt:['$bal1', '$bal2'] } }
  </code></pre>
  
  <p>using the Filter.expr function:</p>
  
  <pre><code>Bson filter = Filters.expr( gt("$bal1", "$bal2") );
  BsonDocument doc = filter.toBsonDocument(BsonDocument.class, collection.getCodecRegistry());
  System.out.println(doc.toJson());
  </code></pre>
  
  <p>this produces the following json:</p>
  
  <pre><code>{ "$expr" : { "$bal1" : { "$gt" : "$bal2" } } }
  </code></pre>
  
  <p>Clearly that's not right.  Is there some way of creating this query using Java static import interfaces, or am I stuck having to construct strings manually?  I'm new to Mongo, and I can't imagine that everyone is building strings by hand - any guidance would be greatly appreciated.</p>
  
  <p>MongoDB Java driver 3.6.1</p>