집계 유창한 Api를 사용하여 mongodb에서 데이터를 가져 오려고합니다. 난 강력하게 여기Aggregation Fluent API 추가하지 않는 프로젝트 프로젝트 메서드
var result= await _xyz.Aggregate()
.Match(e =>
e.Id != ObjectId.Empty
&& e.StartDate.HasValue
&& e.StartDate >= DateTime.Today
&& e.ABC.Any(a => abcIds.Contains(a.abcId)))
.Project(p => new XyzSummary()
{
Id= p.Id,
Name = p.Name,
ABC = (List<ABC>)p.ABC.Where(a => abcIds.Contains(a.abcId)),
EventVenue = p.EventVenue,
StartDate = p.StartDate,
City = p.City,
LngLat = p.LngLat,
})
.ToListAsync();
을 입력하여 항상 널 이드 보여줍니다 프로젝트 방식에 문제가 있습니다 것은
[BsonIgnoreExtraElements]
public class XyzSummary
{
[BsonId]
public ObjectId Id { get; set; }
public string Name { get; set; }
public Abcummary EventVenue { get; set; }
public DateTime? StartDate { get; set; }
public string City { get; set; }
public GeoJson2DCoordinates LngLat { get; set; }
}
쿼리는 올바른 결과를 반환하지만, 투사 한 후 항상 "ID"를 보여줍니다 내 XyzSummary 모델의 경우 비어 나는 투영에서 클래스 이름을 제거하지만 잘 작동하지만 클래스 이름과 함께 항상 id null을 표시합니다.
아무도 도와주세요.
감사합니다.
클래스에서'Id'를 문자열로 정의하고 매핑했는지 확인해 보셨습니까? 'public String Id {get; 세트; } ' – Veeram
예, 같은 호 – user2797910