private static void PromoteQueryToDollarAndForm(BsonDocument query, BsonElement clause) { var clauses = new BsonArray(); foreach (var queryElement in query) { clauses.Add(new BsonDocument(queryElement)); } clauses.Add(new BsonDocument(clause)); query.Clear(); query.Add("$and", clauses); } }