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.