I stacked to build this Mongodb query in C# driver:

```
{ 
    Location: { "$within": { "$center": [ [1, 1], 5 ] } },
    Properties: {
        $all: [
            { $elemMatch: { Type: 1, Value: "a" } },
            { $elemMatch: { Type: 2, Value: "b" } }
        ]
    }
}

```

Something next:

```
var geoQuery = Query.WithinCircle("Location", x, y, radius);
var propertiesQuery = **?**;
var query = Query.And(geoQuery, propertiesQuery);

```

---

Addition:

The above query taken from my another question:
[MongoDB: Match multiple array elements](https://stackoverflow.com/questions/15364920/mongodb-match-multiple-array-elements)
You are welcome to take part in its solution.