Tornado + motor,按照motor文档的例子,偶报错
Tornado + motor, according to the motor document example, even an error
我在tornado项目中使用电机库查询mongodb。按照官方文档的例子,报错了。谁能帮我下代码,万分感谢
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)
当我运行代码时,异常发生:
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 version:3.7
龙卷风version:6.0.2
电机:2.0.0
MotorClient
给你一个客户端对象,而不是数据库对象。您的代码应该如下所示:
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(...)
我在tornado项目中使用电机库查询mongodb。按照官方文档的例子,报错了。谁能帮我下代码,万分感谢
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)
当我运行代码时,异常发生:
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 version:3.7
龙卷风version:6.0.2
电机:2.0.0
MotorClient
给你一个客户端对象,而不是数据库对象。您的代码应该如下所示:
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(...)