MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Proiezione nella clausola Where Query di un documento incorporato nella raccolta MongoDB utilizzando C#

MODIFICA

Aggiunta projection - quindi l'array selezionato contiene solo documenti in cui IsLive==true

Penso che sia più facile usare le query digitate come c# è un linguaggio fortemente tipizzato. Ho usato ElemMatch poiché è progettato per scansionare un array e cercare un elemento corrispondente.

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