You need a built-in document for the $lt sub-object, but you forgot to create it:
var query = new QueryDocument { { "id", 1 }, { "created_on", new BsonDocument { { "$lt", time } } } }
Also consider using the Query constructor, which can simplify the task:
var query = Query.And( Query.EQ("id", 1), Query.LT("created_on", time) );
Avish source share