Skip to content

Connects to HOST instead of MONGODB_HOST #258

Closed
@lokeshmeher

Description

@lokeshmeher

While using mongoengine with a Flask project I am getting the following error:

Traceback (most recent call last):
  File "manage.py", line 4, in <module>
    from survaider import create_app, app
  File "/home/lokesh/Desktop/Work/Survaider_Apps/new_survaider/survaider/survaider/__init__.py", line 24, in <module>
    db = MongoEngine(app)
  File "/home/lokesh/Desktop/Work/Survaider_Apps/new_survaider/survaider-env/lib/python3.5/site-packages/flask_mongoengine/__init__.py", line 111, in __init__
    self.init_app(app, config)
  File "/home/lokesh/Desktop/Work/Survaider_Apps/new_survaider/survaider-env/lib/python3.5/site-packages/flask_mongoengine/__init__.py", line 138, in init_app
    connection = create_connection(config, app)
  File "/home/lokesh/Desktop/Work/Survaider_Apps/new_survaider/survaider-env/lib/python3.5/site-packages/flask_mongoengine/connection.py", line 377, in create_connection
    return get_connection(alias)
  File "/home/lokesh/Desktop/Work/Survaider_Apps/new_survaider/survaider-env/lib/python3.5/site-packages/flask_mongoengine/connection.py", line 141, in get_connection
    _connections[alias] = mongoengine.connect(db_name, **conn_settings)
  File "/home/lokesh/Desktop/Work/Survaider_Apps/new_survaider/survaider-env/lib/python3.5/site-packages/mongoengine/connection.py", line 195, in connect
    register_connection(alias, db, **kwargs)
  File "/home/lokesh/Desktop/Work/Survaider_Apps/new_survaider/survaider-env/lib/python3.5/site-packages/mongoengine/connection.py", line 69, in register_connection
    uri_dict = uri_parser.parse_uri(conn_host)
  File "/home/lokesh/Desktop/Work/Survaider_Apps/new_survaider/survaider-env/lib/python3.5/site-packages/pymongo/uri_parser.py", line 284, in parse_uri
    "must begin with '%s'" % (SCHEME,))
pymongo.errors.InvalidURI: Invalid URI scheme: URI must begin with 'mongodb://'

I took a look at the site-packages/mongoengine/connection.py file and at line 60 tried to print the value of conn_host. It printed:

http://0.0.0.0:5000

The value came from my project's config.py file:

...
HOST = http://0.0.0.0:5000
...
MONGODB_DB = 'qwer'
MONGODB_HOST = 'localhost'
MONGODB_PORT = 27017

Even though MONGODB_HOST is defined, it read the value from HOST.

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions