MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Projektion in der Where-Klausel-Abfrage eines eingebetteten Dokuments in der MongoDB-Sammlung mit C#

BEARBEITEN

projection hinzugefügt - so ausgewähltes Array enthält nur Dokumente mit IsLive==true

Ich denke, es ist einfacher, typisierte Abfragen als c# zu verwenden ist stark typisierte Sprache. Ich habe ElemMatch verwendet da dies dazu dient, ein Array zu scannen und nach einem passenden Element zu suchen.

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