¡Cómo configurar el controlador Java MongoOptions de MongoDB para uso en producción!
// Constructor
// replicaSetSeeds Direcciones de todos los servidores
// opciones de configuración de consulta predeterminada
public Mongo ( List throws MongoException { // Establecer variables de clase _addr = null; _addrs = replicaSetSeeds; _options = opciones; // Aplicar configuración de consulta _applyMongoOptions() // Crear una instancia de conexión TCP _connector = new DBTCPConnector( this , _addrs ); // Crea una instancia de conexión TCP // Inicia el hilo de limpieza de datos _cleaner = nuevo DBCleanerThread(); _cleaner.start(); } _connector = nuevo DBTCPConnector( this , _addrs ); > // Crear una instancia de conexión TCP // Aplicar configuración de consulta void _applyMongoOptions () { // Si se ejecuta la consulta en el esclavo. servidor if (_options.slaveOk) esclavoOk(); //Aplicar configuración de escritura predeterminada setWriteConcern( _options.getWriteConcern() } //Aplicar configuración de escritura predeterminada public void setWriteConcern( preocupación de WriteConcern ) { _concern = preocupación } Otras clases involucradas: ServerAddress se usa para guardar información sobre el nombre de host y el puerto usado MongoOptions se usa para guardar la configuración de consulta (ya sea para consulta en el dispositivo esclavo, configuración de tiempo de espera, etc.) Configuración de parámetros de escritura de WriteConcern, que incluyen: número de servidores, tiempo de espera de escritura: número de servidores, configuración de tiempo de espera de escritura, si se sincronizan los resultados con el sistema de archivos inmediatamente DBTCPConnector representa datos TCP. Las conexiones se presentarán en detalle en artículos posteriores. DBCleanerThread limpia el hilo y limpia el DBCursor de cada base de datos de vez en cuando Obtiene los nombres de todas las bases de datos La implementación específica es la siguiente siguiente: código de colección de código Java //Obtener los nombres de todas las bases de datos Lista pública throws MongoException { // Crea un DBOBject que represente los comandos de la base de datos BasicDBObject cmd = new BasicDBObject() cmd.put("listDatabases", 1) // Utiliza la base de datos de administración para ejecutar el comando y devolver el resultado CommandResult res = getDB("admin" ).command(cmd, getOptions()); p> // Si ocurre un error, lanza una excepción res.throwOnError() // Obtiene las propiedades de la base de datos en el resultado, que es una base de datos. lista Lista l = (Lista) res.get("bases de datos"); Lista l = (Lista)res.get("bases de datos"); p> // Obtiene los atributos de la base de datos en el resultado, esta es una lista de bases de datos Lista l = (List)res.get("databases")get("databases"); p> // Recorre la base de datos, guarda el nombre en la lista y devuelve resultados List for (Object o : l) { list.add(( ((BasicDBObject)o).getString("name")); } Devuelve la lista. Devuelve la lista; } Otras clases involucradas: BasicDBObject interactúa con MongoDB a través de una estructura de datos que en realidad es equivalente a un Mapa en Java o un objeto. en JavaScript CommandResult opera Los resultados heredan de BasicDBObject y proporcionan algunos métodos convenientes que aún pueden encontrar las propiedades correspondientes en DBObject. Resultados del comando