Motor 0.3.2 发布,此版本兼容 MongoDB 2.2,2.4 和 2.6,最低要求 PyMongo 2.7.1。
此版本修复了在 “copy_database” 方法的 socket 泄漏,重写了 “Let Us Now Praise ResourceWarnings” 里面的问题和 bug。
获得最新版本:pip install --upgrade motor。更多内容请看这里。
Motor 为 Tornado 提供了一个基于回调和 Future 机制的非堵塞的 MongoDB 驱动程序。Motor 封装了 PyMongo
安装:$ pip install motor
示例代码:
from tornado import gen
class NewMessageHandler(tornado.web.RequestHandler):
@tornado.web.asynchronous
@gen.coroutine
def post(self):
"""Insert a message."""
msg = self.get_argument('msg')
db = self.settings['db']
# insert() returns a Future. Yield the Future to get the result.
result = yield db.messages.insert({'msg': msg})
# Success
self.redirect('/')
class MessagesHandler(tornado.web.RequestHandler):
@tornado.web.asynchronous
@gen.coroutine
def get(self):
"""Display all messages."""
self.write('<a href="/compose">Compose a message</a><br>')
self.write('<ul>')
db = self.settings['db']
cursor = db.messages.find().sort([('_id', -1)])
while (yield cursor.fetch_next):
message = cursor.next_object()
self.write('<li>%s</li>' % message['msg'])
# Iteration complete
self.write('</ul>')
self.finish()
- MotorClient – Connection to MongoDB
- MotorReplicaSetClient – Connection to MongoDB replica set
- MotorDatabase
- MotorCollection
- MotorCursor
- Motor GridFS Classes
- motor.web
转自:http://www.oschina.net/news/53697/motor-0-3-2-released