I am trying to setup the new Sanic
web framework (which is promised to be extremely fast) with motorengine
in order to achieve 100% async.
My setup so far:
app = Sanic(__name__)
@app.listener('after_server_start')
async def setup_dbconn(app, loop):
connect("database_name", username="user", password="pass", host="192.168.1.200", port=27017, io_loop=asyncio.get_event_loop())
Unfortunately I get:
motorengine.connection.ConnectionError: Cannot connect to database default :
Unknown option username
Why does this crash?
The specific problem you encounter is not about Sanic
but has to do with motorengine
.
Use the database URI to connect:
motorengine.connect(
db=name,
alias=alias,
host="mongodb://username:password@localhost:port",
io_loop=tornado.ioloop.IOLoop.instance()
)
The solution came from this ticket: https://github.com/heynemann/motorengine/issues/82 .
PS: For Sanic >= 0.4.0 you should consider using sanic-motor extension!
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.