Pasando la conexión de la base de datos -- javascript campo con node.js camp codereview Relacionados El problema

Passing Database connection


1
vote

problema

Español

Quería abrir la conexión de la base de datos (Mongo) solo una vez cuando inicie la aplicación y comparto la misma conexión a través de la aplicación. Lo que estoy haciendo como parte de App.js es

creando conexión

   SELECT  *     FROM  couples as c      LEFT JOIN candidates_blue as cb          ON cb.save_id = 3             AND cb.user_id = c.id_candidate_blue      LEFT JOIN candidates_red as cr          ON cr.save_id = 3             AND cr.user_id = c.id_candidate_red      WHERE c.save_id = 3         AND cb.enter_match = 1         AND cr.enter_match = 1  4  

pasando dbconnection en cada llamada de ruta

   SELECT  *     FROM  couples as c      LEFT JOIN candidates_blue as cb          ON cb.save_id = 3             AND cb.user_id = c.id_candidate_blue      LEFT JOIN candidates_red as cr          ON cr.save_id = 3             AND cr.user_id = c.id_candidate_red      WHERE c.save_id = 3         AND cb.enter_match = 1         AND cr.enter_match = 1  5  

¿Es el enfoque correcto o algo malo aquí?

Original en ingles

I wanted to open Database (Mongo) connection only once when I start application and share the same connection across the application. What am doing as part of app.js is

Creating connection

var dbConnection = mongoose.createConnection(config.database.address, config.database.dbName, config.database.port); 

passing dbConnection in every route call

require('./services/MasterServices')(app , dbConnection);  

Is it right approach or anything wrong here?

     
   
   

Lista de respuestas

1
 
vote

Puede usar la función connect , que devuelve la conexión predeterminada.

solo agregue mongoose.connect('mongodb://username:password@host:port/database'); siempre que lo necesite.

Consulte http://mongoosejs.com/docs/connections.html

 

You can use the connect function, which returns the default connection.

Just add mongoose.connect('mongodb://username:password@host:port/database'); whenever you need it.

See http://mongoosejs.com/docs/connections.html

 
 
 
 
1
 
vote

Si tiene un módulo que se ocupa de su interacción DB, NoDeJS devuelve los objetos de Singleton para su módulo. Esto significa que puede crear una conexión en su módulo:

  var connection mongoose. createConnection(); //only ever set up once. The first time it is required    exports.getConnection = function (cb){   if(! connection) {     connection =  mongoose.createConnection();     cb(undefined,connection);   }   else cb(undefined, connection); };   

solo una opción.

 

if you have a module which looks after your db interaction, nodejs returns singleton objects for your module. This means you can create a connection in your module:

var connection mongoose. createConnection(); //only ever set up once. The first time it is required    exports.getConnection = function (cb){   if(! connection) {     connection =  mongoose.createConnection();     cb(undefined,connection);   }   else cb(undefined, connection); }; 

Just an option.

 
 
0
 
vote

Puede separar la conexión en un archivo como "db.js", y luego lo requiere cuando sea necesario. Así que por ejemplo:

  // db.js var mongoose = require('mongoose'),     config = require('./config.js');  module.exports = mongoose.createConnection(     config.database.address, config.database.dbName, config.database.port);   

y luego en tus rutas, puedes hacer algo como:

  // route.js var db = require('./db.js');   
 

You could separate the connection into a file like "db.js", and then require it when necessary. So for example:

// db.js var mongoose = require('mongoose'),     config = require('./config.js');  module.exports = mongoose.createConnection(     config.database.address, config.database.dbName, config.database.port); 

And then in your routes, you might do something like:

// route.js var db = require('./db.js'); 
 
 

Relacionados problema

3  Reducir no. de líneas  ( Reduce no of lines ) 
Tengo el siguiente tipo de muchas funciones que muchas si las acusaciones están ahí hay alguna forma de reducir no. de líneas. import re from bs4 import Be...

9  Resultados de promesa de almacenamiento en caché / de memorización  ( Caching memoizing promise results ) 
Me pregunto cuál podría ser el mejor enfoque. Un enfoque es en cadena cachedPromise y "regular", por lo tanto, si 9988777665544335 falla, llamamos a un ...

1  Simple Node.js WebServer  ( Simple node js webserver ) 
Estoy en el proceso de escribir un servidor web simple.js. Estoy a mitad de camino en términos de funcionalidad. Consulte el código completo en este pastebin...

4  Usando variables globales en mi configuración de programa node.js  ( Using global variables in my node js program configuration ) 
Sé que usando variables globales en JavaScript es mala práctica. Aquí estoy usando la configuración, el host y el puerto como variables globales, ya que he ag...

1  Descarga de imágenes de sitios web por el selector CSS  ( Downloading images from websites by css selector ) 
Escribí un pequeño módulo de Nodo.js para descargar imágenes de los sitios web por el selector CSS. Me gustaría saber cuáles son mis errores y cómo puedo corr...

8  Contando novedades en un archivo  ( Counting newlines in a file ) 
He comenzado a pasar por tutoriales de nodos en nodoschool.io , y la segunda asignación fue escribir un programa que contará El número de nuevas líneas en un...

3  Leyendo un archivo de texto, manipulándolo y guardándolo a una base de datos Mongo  ( Reading a text file manipulating it and saving it to a mongo database ) 
Tenemos un próximo proyecto en el trabajo que requerirá trabajar con Express.js. No tengo experiencia previa con Node.js, así que pensé que intentaría hacer a...

5  Analice un archivo CSV y devuelva un objeto o matriz  ( Parse a csv file and return an object or array ) 
Recientemente publiqué un módulo de JavaScript para NPM que también está disponible on Github por el nombre de Rawiki-Pars-CSV. El código lleva datos RAW C...

2  Implementación del patrón de observador para NOde.js  ( Implementation of observer pattern for node js ) 
Escribí una implementación del patrón de observador como parte de mi juego de ajedrez de batalla en línea : class Player attr_accessor :color, :pieces, ...

1  Script por lotes para descargar y extraer nodos.js y paquetes NPM  ( Batch script to download and extract node js and npm packages ) 
El siguiente es mi primer intento real de Scripting por lotes, y lo soy nuevo, así que no estoy seguro de si lo que he hecho es practicar mejor. El código fun...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos