使用PyMongo:
import pymongo
conn=pymongo.Connection(host='127.0.0.1',port=27017)
db=conn.cms
db.comments.save({'content':'test', 'user':'admin'})
然后返回:
ObjectId('4ea175b96e955237aa000000')
可以和PyMongo一起使用。 但是当我使用AsyncMongo时,我无法得到_id。
class PoCommentsHandler(BaseClass):
@tornado.web.asynchronous
def post(self):
self.mongo.comments.save({'content':'test', 'user':'admin'}, callback=self._callback)
def _callback(self, response, error):
if error: raise tornado.web.HTTPError(500)
logging.info(response)
self.finish(str(response))
然后返回:
[I 111021 21:25:02 cms:104] [{u'connectionId': 41, u'ok': 1.0, u'err': None, u'n': 0}]
谁能告诉我什么错?感谢
答案 0 :(得分:0)
没有错,MongoDB本身不返回刚插入文件的id, pymongo 为你做。有一个名为APyMongo的pymongo API(也在Tornado IOLoop上)的异步实现,它应该按照你的预期运行。
有关此主题的更多信息可以在此google群组主题中找到:http://groups.google.com/group/python-tornado/browse_thread/thread/9f43f85916156848