Reputation: 51
Start a python project, using fastapi with mongoengine. Yesterday it was working normally, but today when running any method that has the connection to the database, the connection failure error occurs (mongoengine.connection.ConnectionFailure: You have not defined a default connection ).
My connection:
from mongoengine import connect
connect(db="mydb", host='localhost', port=27017, alias='default')
My models:
from mongoengine.document import Document
from mongoengine.fields import StringField, BooleanField, ListField, ReferenceField
from mongoengine import PULL
class Permissao(Document):
permissao = StringField()
class Grupo(Document):
grupo = StringField()
permissoes = ListField(ReferenceField('Permissao', reverse_delete_rule=PULL))
class Usuario(Document):
nome_usuario = StringField()
ativo = BooleanField()
senha = StringField()
grupos = ListField(ReferenceField('Grupo', reverse_delete_rule=PULL))
permissoes = ListField(ReferenceField('Permissao', reverse_delete_rule=PULL))
Upvotes: 2
Views: 1778
Reputation: 51
It worked, I switched the connection to the models and put a meta field, check it below:
from mongoengine.document import Document
from mongoengine.fields import StringField, BooleanField, ListField, ReferenceField
from mongoengine import PULL
from mongoengine import connect
connect(db="mydb", host="localhost", port=27017, alias="mydb-alias")
class Permissao(Document):
permissao = StringField()
meta = {"db_alias" : "mydb-alias" , "collection" : "permissao"}
class Grupo(Document):
grupo = StringField()
permissoes = ListField(ReferenceField('Permissao', reverse_delete_rule=PULL))
meta = {"db_alias" : "mydb-alias" , "collection" : "grupo"}
class Usuario(Document):
nome_usuario = StringField()
ativo = BooleanField()
senha = StringField()
grupos = ListField(ReferenceField('Grupo', reverse_delete_rule=PULL))
permissoes = ListField(ReferenceField('Permissao', reverse_delete_rule=PULL))
meta = {"db_alias" : "mydb-alias" , "collection" : "usuario"}
Upvotes: 1