title: mongoengine connection and multiple databases
body: <p>I have 2 databases I want to query from, but I only get results from one. I'm using mongoengine with python and graphene (it's my first time). I've exhausted my search and I don't understand how I can resolve this issue. Here is my code:</p>
  
  <pre><code>import graphene
  from mongoengine import Document, connect
  from mongoengine.context_managers import switch_collection
  from mongoengine.fields import (
      StringField,
      UUIDField,
      IntField,
      FloatField,
      BooleanField,
  )
  from graphene_mongo import MongoengineObjectType
  from mongoengine.connection import disconnect
  
  
  class UserModel(Document):
      meta = {"collection": "users"}
  
      userID = UUIDField()
      first_name = StringField()
      last_name = StringField()
  
  
  class Users(MongoengineObjectType):
      class Meta:
          model = UserModel
  
  
  class UsersQuery(graphene.ObjectType):
      users = graphene.List(Users)
      user = graphene.Field(Users, userID=graphene.UUID())
  
      def resolve_users(self, info):
          db = connect("users")
          users = list(UserModel.objects.all())
          db.close()
          return users
  
      def resolve_user(self, info, userID):
          return UserModel.objects(userID=userID).first()
  
  
  users_schema = graphene.Schema(query=UsersQuery)
  </code></pre>
  
  <pre><code>import graphene
  from mongoengine import Document, connect
  from mongoengine.fields import StringField, UUIDField
  from graphene_mongo import MongoengineObjectType
  from mongoengine.connection import disconnect
  
  
  class Workout(Document):
      meta = {"collection": "workouts"}
  
      workoutID = UUIDField()
      workout_label = StringField()
  
  
  class Workouts(MongoengineObjectType):
      class Meta:
          model = Workout
  
  
  class Query(graphene.ObjectType):
      workouts = graphene.List(Workouts)
      workout = graphene.Field(Workouts, workoutID=graphene.UUID())
  
      def resolve_workouts(self, info):
          db = connect("workouts")
          wks = list(Workout.objects.all())
          db.close()
          return wks
  
      def resolve_workout(self, info, workoutID):
          return Workout.objects(workoutID=workoutID).first()
  
  
  workouts_schema = graphene.Schema(query=Query)
  </code></pre>
  
  <p>Now when I have my python server up, mongod running I can hit the /workouts and it will return the array I need. But /users will not return the results.</p>
  
  <p>I get no errors, nothing is wrong with my graphene query.</p>
  
  <p>I can only get one of the queries to work at once.</p>
  
  <p>I have tried using alias, not closing the connections, declaring the connect at the top level even before class UserModel or Workout.</p>