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#驱动程序加载链接的文件?