EDITAR
Adicionada
projection
- então o array selecionado contém apenas documentos onde IsLive==true
Eu acho que é mais fácil usar consultas digitadas como
c#
é uma linguagem fortemente tipada. Usei ElemMatch
pois isso é projetado para varrer uma matriz e procurar um elemento correspondente. var filterDef = new FilterDefinitionBuilder<Employee>();
var filter = filterDef.Eq(x => x.IsLive, true);
var projectDef = new ProjectionDefinitionBuilder<Employee>();
var projection = projectDef.ElemMatch<Mobile>("EmpMobile", "{IsLive:true}");
var empList = collectionEmpInfo.Find(filter).Project<Employee>(projection).ToList();