Estoy tratando de crear una API de descanso simple usando express.js y mongodb.
Por ahora tengo publicaciones y recibo llamadas que funcionan bien, pero ahora me gustaría crear una llamada api que devuelva datos archivados.
El problema es que estoy usando una conexión para la base de datos y necesito otra solo para esta llamada de archivo.
Mi conexión se ve así:
var date = new Date(); var month= date.getUTCMonth() + 1; var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/ranking-'+month); // connect to my database depending on month (ranking-1, ranking-2 etc)Tengo una simple llamada:
router.route('/users') .get(function(req, res) { User.find().sort({ points: '-1' }).exec(function(err, users) { if (err) res.send(err); res.json(users); }); });Ahora estoy tratando de crear exactamente la misma llamada para datos archivados pero con una ruta/mes/id diferente:
router.route('/archive/month/:id?') .get(function(req, res) { //mongoose.connect('mongodb://localhost:27017/ranking-'+req.params.id); // not working User.find().sort({ points: '-1' }).exec(function(err, users) { if (err) res.send(err); res.json(users); }); });Intenté simplemente agregar req.params.id a mi conexión, pero aparece el error: Error: Intentando abrir una conexión no cerrada.
Traté de crear diferentes modelos con createConnection(); pero necesito exactamente la misma base de datos con la identificación pasada por llamada.