En la documentación oficial
se afirma que MongoServer
, MongoDatabase
y MongoCollection
son seguros para subprocesos, y se supone que debe crear un solo MongoServer
para cada base de datos a la que se conecte.
Por lo tanto, MongoServer
, MongoDatabase
y MongoCollection
se puede configurar de forma segura para ser singletons. MongoServer
incluso ayudará a hacer cumplir esto devolviendo el mismo MongoDatabase
instancia para llamadas sucesivas, y MongoDatabase
hará lo mismo para MongoCollection
s.
Es decir. su MongoServer
la instancia se puede configurar de manera segura para tener un estilo de vida singleton en su contenedor IoC, y también puede configurar la inyección para MongoDatabase
y tal vez incluso MongoCollection
también.
Yo mismo estoy usando esta estrategia con Windsor:puedes ver mi MongoInstaller
aquí:https://gist.github.com/2427676
- permite que mis clases sigan adelante y hagan esto:
public class SomeClass
{
public SomeClass(MongoCollection<Person> people)
{ ... }
}
para tener una colección inyectada, bonita y lista para usar.