刚刚入 Tornado 坑,用 mongo 时,为何使用 pymongo 时无法使用 Connection 函数了?

2015-04-18 01:43:19 +08:00
 wind3110991
>>> import pymongo
>>> conn = pymongo.Connection("localhost",27017)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'Connection'
难道pymongo3.0没有这个函数了?

配置MongoDB正常,开了bin里的mongod和mongo环境

pip装的 pymongo3.0
头文件导入正常

现在只能暂时用
client = MongoClient("localhost",27017)
代替,其他正常
有没有人和我一样情况的?
8756 次点击
所在节点    Python
5 条回复
scys
2015-04-18 01:56:02 +08:00
为啥要用connection,是库没有Connection
详细自己看看API https://api.mongodb.org/python/current/api/index.html
wind3110991
2015-04-18 02:02:58 +08:00
@scys Get!原来是最新没有Connection了 = =谢啦
futursolo
2015-04-18 08:55:55 +08:00
Tornado 的话应该使用异步驱动程序Motor,而不是同步驱动程序PyMongo。

https://motor.readthedocs.org/en/stable/

使用Tornado的话,请牢记异步优先的准则。
no13bus
2015-04-18 09:20:16 +08:00
@futursolo 说的很对,必须全部异步,不管何时何地,否则这条线上有一个环节是同步 那么你的过程就是阻塞的。到时候还不如用gevent+flask
no13bus
2015-04-18 09:21:31 +08:00
当然 motor是基于pymongo的,只是写的时候前面要加个 yield.
具体可以看我的开源:
https://github.com/no13bus/ohmyrepo

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/184474

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX