2017-08-08 193 views
0

我想知道是否有任何註釋或特殊方法可以用來自動查詢嵌套文檔。我有一個類Queue有一個項目列表。在查詢隊列時,我想檢索與它相關的項目,但我得到空值。MongoDB - 自動查詢嵌套文檔

var filter = Filter.Eq(queue => queue.Id, queueId); 
return Collection.Find(filter).FirstOrDefaultAsync(); 

它是一個自動的方式做到這一點還是需要手動去查詢基礎上的項目列表:

public class Queue 
{ 
    public string Id { get; set; } 
    public string Name { get; set; } 
    public List<Item> Items { get; set; } 
} 

我被它的id使用以下命令查詢隊列上面的代碼?

謝謝你們!

+0

什麼是您的數據庫?如果沒有顯式使用投影,MongoDB將返回包含項目的整個文檔(如果它們存在)。或者你有沒有設置任何自定義映射? – dnickless

回答

0

這是行不通的?

public async Task<List<Item>> GetItemsFromQueue(string queueId) 
{ 
    return await Collection.Find(queue => queue.Id == queueId) 
     .Project(new ProjectionDefinitionBuilder<Queue>().Expression(q => q.Items)) 
     .FirstOrDefaultAsync(); 
}