Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time
- import pymongo
- import datetime
- import bson
- assert bson.has_c()
- conn = pymongo.Connection()
- coll = conn.testdb.test
- print 'Collection size is: %d' % (coll.count())
- year = 2010
- count = 0
- t1 = time.time()
- #
- # Query a year's worth of data, one month at a time.
- #
- def foo():
- global count
- for ii in range(1, 13):
- start = datetime.datetime(year, ii, 1)
- if ii == 12:
- end = datetime.datetime(year+1, 1, 1)
- else:
- end = datetime.datetime(year, ii+1, 1)
- query = {'date': {'$gte': start, '$lt': end}}
- curs = coll.find(query).sort([('date', 1)])
- for doc in curs:
- if doc['val'] < 2000000:
- count += 1
- else:
- return
- foo()
- t2 = time.time()
- print 'Found %d docs in %s seconds' % (count, t2 - t1)
Add Comment
Please, Sign In to add comment