Python 3.6-Sanic Motorengine

Python 3.6-Sanic Motorengine,python,mongodb,python-3.x,sanic,motorengine,Python,Mongodb,Python 3.x,Sanic,Motorengine,我正在尝试使用motorengine设置新的Sanicweb框架(承诺速度非常快),以实现100%异步 到目前为止,我的设置: 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=27

我正在尝试使用
motorengine
设置新的
Sanic
web框架(承诺速度非常快),以实现100%异步

到目前为止,我的设置:

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())
不幸的是,我得到:

motorengine.connection.ConnectionError: Cannot connect to database default :
Unknown option username

为什么会发生此故障?

您遇到的具体问题与
Sanic
无关,而是与
发动机有关

使用数据库URI进行连接:

motorengine.connect(
    db=name, 
    alias=alias, 
    host="mongodb://username:password@localhost:port", 
    io_loop=tornado.ioloop.IOLoop.instance()
)     
解决方案来自此票证:



<强> ps:对于SANIC>0.4.0,你应该考虑使用扩展! 我用同步发动机替代了发动机。。而且它的工作原理与预期一样。。有人能提到这个吗?