[阅读: 1940] 2010-02-26 09:56:56
Python使用pymongo连接,用法很object,个人使用感觉在作like(%xx%)查询时比较慢,%x或x%和精确查询没有区别。贴一段代码作为参考。
from pymongo import Connection
import re
db = Connection().paperless
db.authenticate(USERNAME, PASSWORD)
testlogs = db.testlogs
# sn_re可以试正则表达式
sn = ‘12345′
sn_re = re.compile(r’^%s.*’ % sn)
skip_count = 2000
per_page = 10
logs = testlogs.find({’sn’: sn_re}).skip(skip_count).limit(per_page)
说明:skip就是offset, 因为已经对sn和test_time作了正序和逆序索引,所以没有使用order by, 当然也可以加上.sort([(sn, ASCENDING), (test_time, DESCENDING)]),具体参考mongodb和pymongo文档。
即: select * from testlogs where sn like ‘12345%’ limit 2000, 10