MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Projeção em Where Clause Query de um documento Embedded na coleção MongoDB usando C#


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();