2014-01-23 87 views
1

我正在使用MongoRepository並希望在兩個不同的集合之間創建引用。MongoDB C#對其他集合的引用

例如,一個表單可以有一個表單的鏈接。它想表示:

public class Form : IEntity{ 
    public string Id {get;set;} 
    public string Report {get;set;} // represents the string form of the ObjectId 
} 

public class Report : IEntity{ 
    public string Id {get;set;} 
} 

我想獲取與報告格式文件嵌套,如:

static MongoRepository<Form> forms = new MongoRepository<Form>(); 
var form = forms.Single(f => f.id == "1"); 

,結果是這樣的:

{ 
    "id": "1", 
    "Report": { 
     "id": "2" 
    } 
} 

這是可能的內這個框架?是否有可能使用C#驅動程序庫?

回答

2

不知道很多關於MongoRepository但在官方的驅動程序,您可以:

  1. 有一個保存了ID爲不同的文檔中的另一個集合(基本上是一個外鍵)的文件,但它意味着你有做一個「加入客戶端」,選擇第一項並使用ID選擇另一項。
  2. 您可以將第二個項目(本例中的報告)完全存儲在第一個項目中。這意味着它是一個內部文檔,它位於同一個集合上,因此它可以在一次調用中同時選擇它們。

MongoRepository可能不會增加太多。它只能從你那裏抽象出這個邏輯...

+1

@ l3amon - 好吧,這是我的想法,我誤導了這一點。 – amcdnl

相關問題