sql >> Base de Datos >  >> NoSQL >> MongoDB

Proyección en la consulta de la cláusula Where de un documento incrustado en la colección MongoDB usando C#

EDITAR

Añadida projection - por lo que la matriz seleccionada contiene solo documentos donde IsLive==true

Creo que es más fácil usar consultas escritas como c# es un lenguaje fuertemente tipado. Utilicé ElemMatch ya que está diseñado para escanear una matriz y busca un elemento coincidente.

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