Properly close mongoose's connection once you're done
I'm using mongoose in a script that is not meant to run continuously, and I'm facing what seems to be a very simple issue yet I can't find an answer; simply put once I make a call to any mongoose function that sends requests to mongodb my nodejs instance never stops and I have to kill it manually with, say, Ctrl+c or Program.exit().
The code looks roughly like this:
var mongoose = require('mongoose');
// if my program ends after this line, it shuts down as expected, my guess is that the connection is not really done here but only on the first real request ?
mongoose.connect('mongodb://localhost:27017/somedb');
// define some models
// if I include this line for example, node never stop afterwards
var MyModel = mongoose.model('MyModel', MySchema);
I tried adding calls to mongoose.disconnect() but no to result. Aside from that, everything works fine (finding, saving, ...). Don’t know how mongoose close connection?
To properly close the mongoose's connection once you're done you can close the connection with:-
mongoose.connection.close()
Note: You should close a mongoose connection when a Node POSIX signal is happening. SIGINT process is triggered when Ctrl-C has been pressed on the terminal or a server shutdown. Another possible scenario is to close a connection when data streaming is done.