var pipeline = new BsonArray {
new BsonDocument("$match",
new BsonDocument("arrayOfObjects.key", 1)),
new BsonDocument("$unwind",
new BsonDocument("path", "$arrayOfObjects")),
new BsonDocument("$match",
new BsonDocument("arrayOfObjects.key", 1)),
new BsonDocument("$project",
new BsonDocument("propertyToProjectTo", "$arrayOfObjects.values.value1"))
}
var result = await Collection.Aggregate(pipeline)
@Rafael_Green it works like this, but before marking your answer as Solution, I would like to wait if someone offers strong typed Solution. I try to avoid this kind of queries because of possible typos.