I den officiella dokumentationen
det står att MongoServer
, MongoDatabase
och MongoCollection
är trådsäkra och att du ska skapa en enda MongoServer
för varje databas som du ansluter till.
Alltså MongoServer
, MongoDatabase
och MongoCollection
kan säkert konfigureras för att vara singlar. MongoServer
kommer till och med att hjälpa till att upprätthålla detta genom att returnera samma MongoDatabase
instans för successiva samtal och MongoDatabase
kommer att göra samma sak för MongoCollection
s.
d.v.s. din MongoServer
instans kan säkert konfigureras för att ha en singellivsstil i din IoC-behållare, och du kan lika gärna ställa in injektion för MongoDatabase
och kanske till och med MongoCollection
också.
Jag använder själv den här strategin med Windsor - du kan se min MongoInstaller
här:https://gist.github.com/2427676
- det låter mina klasser bara gå vidare och göra detta:
public class SomeClass
{
public SomeClass(MongoCollection<Person> people)
{ ... }
}
för att få en samling injicerad, snygg och klar att använda.