[英]Aggregation Fluent API Project method not adding Id
我正在嘗試使用聚合流利的Api從mongodb獲取一些數據。 我在使用項目方法時遇到問題,它始終使用強類型顯示Id null
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();
這是我的XyzSummary模型
[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”為空,然后工作正常,但使用類名時它始終顯示為id
任何人都可以幫助我。
謝謝
為什么還要使用聚合?
這段代碼會做同樣的事情:
var result = await _xyz.Find(e => e.Id != ObjectId.Empty && e.StartDate.HasValue && e.StartDate >= DateTime.Today) .ToListAsync();
也許我錯過了一些東西。 讓我知道我是否=)
編輯:我錯過了一些東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.