Properly close mongoose's connection once you're done

764    Asked by Yashraj in Python , Asked on Jul 5, 2021

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?

 

Answered by Lachlan Cameron

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.



Your Answer

Interviews

Parent Categories