Requête avec filtre builder sur un tableau imbriqué à l'aide de MongoDB C# pilote

Envisager la suite de la structure de l'objet stocké en tant que documents:

public class Foo
{
    public string Id { get; set; }
    public ICollection<FooBar> Bars { get; set; }

    //...
}

public class FooBar
{
    public string BarId { get; set; }

    //...
}

À l'aide d'une requête LINQ-style avec le pilote, je peux Find tous Foo qui contiennent un FooBar BarId comme ceci:

var foos = await m_fooCollection.Find( f => f.Bars.Any( fb => fb.BarId == "123") ).ToListAsync();

Comment puis-je parvenir à cette même requête à l'aide de la FilterDefinitionBuilder au lieu de l'en-ligne LINQ sur Find?

Il n'est pas LINQ, juste une expression lambda.
.Any sur un ICollection fait partie de la Enumerable classe dans le System.Linq espace de noms, non?
En effet, mais cette méthode ne sera jamais appelé. Le pilote se traduit par l'expression d'un mongo requête.
Ok, fait sens. Je pense que j'ai été plus d'essayer d'exprimer le fait que je suis à l'aide de LINQ la syntaxe de style, plutôt que de véritables LINQ.
Oui, il n'a pas vraiment d'importance. Juste une remarque pour l'avenir googlers.

OriginalL'auteur kspearrin | 2015-06-22