MongoEngine: Close connection

connection, disconnect, mongoengine, python

Solution

I know this is an old question, but if anyone else is searching I figured I'd give an alternate answer.

`close()` does not actually remove the connection from MongoEngine's connection list. This causes problems when trying to connect to a different database later on.

To solve this I used `mongoengine.connection.disconnect` (even though it's not listed in `__all__`). My code looks like this:

from mongoengine import connect
from mongoengine.connection import disconnect

db = connect(alias='some_alias')

{do stuff}

disconnect(alias='some_alias')

You can also leave the alias out as it will default to 'default' in both connect and disconnect.

Problem

I spent ages trying to find a simple example where MongoEngine was being used and a connection was being closed. Finally figured it out and posting my code.

Original source