【问题标题】:Python 3.6 - Sanic MotorenginePython 3.6 - Sanic Motorengine
【发布时间】:2017-10-14 17:36:01
【问题描述】:

我正在尝试使用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

为什么会崩溃?

【问题讨论】:

  • 我用它的同步等效 mongoengine 替换了 motorengine.. 它按预期工作.. 任何人都可以参考这个吗?

标签: python mongodb python-3.x sanic motorengine


【解决方案1】:

您遇到的具体问题与Sanic无关,而与motorengine有关。

使用数据库 URI 连接:

motorengine.connect(
    db=name, 
    alias=alias, 
    host="mongodb://username:password@localhost:port", 
    io_loop=tornado.ioloop.IOLoop.instance()
)     

解决方案来自这张票:https://github.com/heynemann/motorengine/issues/82


PS:对于 Sanic >= 0.4.0,您应该考虑使用 sanic-motor 扩展!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-21
    • 1970-01-01
    • 1970-01-01
    • 2019-12-19
    相关资源
    最近更新 更多