public static QueryConditionList ElemMatch(
     string name,
     QueryComplete query
 )
 {
     return new QueryConditionList(name, "$elemMatch", query.ToBsonDocument());
 }
 public QueryNotConditionList ElemMatch(
     QueryComplete query
 )
 {
     conditions.Add("$elemMatch", query.ToBsonDocument());
     return this;
 }
 public QueryNotConditionList ElemMatch(
     QueryComplete query
 )
 {
     return new QueryNotConditionList(name, "$elemMatch", query.ToBsonDocument());
 }