1
我有一個正在由MongoDB驅動程序加載的文檔。加載鏈接的文檔MongoDB驅動程序
問題是這個文件有另一個鏈接的文件由ObjectId
。
由於我的應用程序,我需要的頭文件滿載,我通過一個IEnumerable
加載鏈接的文檔如下:
IMongoDatabase Database { get; set; }
public class Document1 {
[BsonId]
public ObjectId Id;
public ObjectId Document2Id;
[BsonIgnore]
public Document2 Document2;
}
public class Document2 {
[BsonId]
public ObjectId Id;
public string Foo;
public string Bar;
}
public IEnumerable<Document1> List() {
var 1documents = Database.GetCollection<Document1>("1documents");
var 2documents = Database.GetCollection<Document2>("2documents");
foreach(var document in 1documents.AsEnumerable()) {
document.Document2 = 2documents
.AsEnumerable()
.FirstOrDefault(d => d.ID == document.Document2Id);
yield return document;
}
}
我的問題是,文檔2的負荷的時間過長。我有500多條記錄,我認爲它是一個小型數據庫。每個負載需要500毫秒。
是否有任何其他方式通過MongoDB C#驅動程序加載鏈接的文件?