आप निश्चित रूप से अपने सभी दस्तावेज़ों को एक संग्रह में संग्रहीत कर सकते हैं, हालांकि लंबे समय में संग्रह में केवल एक प्रकार को स्टोर करना आसान और क्लीनर है (सी # परिप्रेक्ष्य से)। आप MongoDatabase पर एक एक्सटेंशन मेथड के साथ एक क्लास बनाकर ऐसा कर सकते हैं।
public static class MyDatabase
{
public static MongoCollection<T> GetCollection<T>(this MongoDatabase db)
{
var name = typeof(T).Name;
return db.GetCollection<T>(name);
}
}
फिर आप अपने प्रकार के साथ GetCollection को कॉल कर सकते हैं और नाम आपके सामान्य कोड से छुपाया जाएगा। आप अमूर्त चीज़ों के लिए कुछ इस तरह से कुछ और भी बना सकते हैं:
public class MyDatabase
{
private MongoDatabase _db;
public MyDatabase(MongoDatabase db)
{
_db = db;
}
public MongoCollection<object> Objects
{
get
{
return _db.GetCollection<object>();
}
}
}
इसके साथ आप बस कर सकते हैं
var client = new MongoClient();
var server = client.GetServer();
var db = server.GetDatabase("MyDb");
var myDb = new MyDatabase(db);
myDb.Objects.Find();
यह Find
Objects
. के विरुद्ध निष्पादित करने के लिए मैप करेगा संग्रह, बस बदलें <object>
अपने प्रकार के साथ और संग्रह को एक नाम दें।