CHỈNH SỬA
Đã thêm projection
- vì vậy mảng đã chọn chỉ chứa các tài liệu trong đó IsLive==true
Tôi nghĩ rằng việc sử dụng các truy vấn được nhập là c#
sẽ dễ dàng hơn là ngôn ngữ được gõ mạnh. Tôi đã sử dụng ElemMatch
vì nó được thiết kế để quét một mảng và tìm kiếm một phần tử phù hợp.
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();