2016-08-30 60 views
0

示例:讓我們假設以下集合。 ThrashMetalDocumentsCollection和SpeedMetalDocumentsCollection,這兩個集合具有相同的HeavyMetalRecordDocument結構,如下所示。如何查詢並返回兩個集合中的所有記錄,並按發佈日期(最早的最早)和評分(最高到最低)對它們進行排序?謝謝! \ M/\ M/MongoDB使用排序順序查詢兩個集合

static async Task getAllRecords() 
{ 
    var builder = Builders<HeavyMetalRecordDocument>.Filter; 
    //var filter; 

    using (var cursor = await ThrashMetalDocumentsCollection.Find() 
    .Sort(Builders<HeavyMetalRecordDocument>.Sort.Ascending(x => x.rating)) 
    .ToCursorAsync()) 
    { 
     while (await cursor.MoveNextAsync()) 
     { 
      foreach (var doc in cursor.Current) 
      { 
       //Do Something… 
      } 
     } 
    } 
} 

public class HeavyMetalRecordDocument 
{ 
    public ObjectId Id { get; set; } 
    public String artist { get; set; } 
    public String title { get; set; } 
    public DateTime releaseDate { get; set; } 
    public int rating { get; set; } // 1-10 
} 

回答

0

MongoDB是不是一個關係數據庫,正因爲如此,它不能執行連接(這是你要完成的任務)。您可能想更多地考慮數據庫的結構。在不瞭解你想要做什麼的情況下,我會建議將所有類型的專輯放入一個單一的收藏集中 - 放入一個指示專輯類型的附加字段。

+0

我會做一些小的調整,並將範圍限制爲一個集合。謝謝! – 80sRocker