首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >龙卷风+马达,根据马达文件的例子,甚至是一个错误

龙卷风+马达,根据马达文件的例子,甚至是一个错误
EN

Stack Overflow用户
提问于 2019-04-20 10:52:01
回答 1查看 491关注 0票数 1

我使用马达库来查询龙卷风项目中的mongodb。根据公文的例子,我犯了一个错误。谁能帮我处理密码,非常感谢。

代码语言:javascript
复制
from tornado.ioloop import IOLoop
import motor


async def do_insert():
    db = motor.motor_tornado.MotorClient('mongodb://localhost:27017')
    document = {'key': 'value'}
    result = await db.books.insert_one(document)
    print(result)


if __name__ == "__main__":
    IOLoop.instance().run_sync(do_insert)

当我运行代码时,会出现异常:

代码语言:javascript
复制
Traceback (most recent call last):
  File "/Users/msean/python_project/amazon-riskhelper/test/test_db.py", line 13, in <module>
      IOLoop.instance().run_sync(do_insert)
  File "/Users/msean/.virtualenvs/amazon- 
  riskhelper/lib/python3.7/site-packages/tornado/ioloop.py", line 532, in run_sync
      return future_cell[0].result()
  File "/Users/msean/python_project/amazon-riskhelper/test/test_db.py", line 8, in do_insert
      result = await db.books.insert_one(document)
  File "/Users/msean/.virtualenvs/amazon-riskhelper/lib/python3.7/site-packages/motor/core.py", line 554, in __call__
self.delegate.name)
  TypeError: MotorCollection object is not callable. If you meant to call the 'insert_one' method on a MotorCollection object it is failing because no such method exists.

python版本:3.7

龙卷风版本:6.0.2

发动机: 2.0.0

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-20 11:15:16

MotorClient为您提供一个客户端对象,而不是数据库对象。这就是您的代码应该是什么样子:

代码语言:javascript
复制
client = motor.motor_tornado.MotorClient('mongodb://localhost:27017')

db = client.db_name # replace `db_name` with actual name of the db

...

result = await db.books.insert_one(...)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55772787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档