Skip to content

Instantly share code, notes, and snippets.

@ronfe
Created November 9, 2015 07:45
Show Gist options
  • Save ronfe/6643f3d70f5e134be2fa to your computer and use it in GitHub Desktop.
Save ronfe/6643f3d70f5e134be2fa to your computer and use it in GitHub Desktop.
__author__ = 'ronfe'
from pymongo import MongoClient
import datetime
from bson.objectid import ObjectId
db = MongoClient('mongodb://10.8.8.8:27017')['matrix-yangcong-prod25']
start_date = datetime.datetime(2015, 10, 26)
mid_date = datetime.datetime(2015, 11, 1)
end_date = datetime.datetime(2015, 11, 7)
points = db['points']
pipeLine = [
{"$match": {"usefulData.registDate": {"$gte": start_date, "$lt": end_date}}},
{"$group": {"_id": None, "users": {"$push": "$_id"}}}
]
users = db['users']
two_weeks_users = set(list(users.aggregate(pipeLine))[0]['users'])
print 'done A'
# Get all the points user
pipeLine = [
{"$match": {"createdBy": {"$gte": mid_date, "$lt": end_date}}},
{"$group": {"_id": None, "users": {"$addToSet": "$user"}}}
]
one_week_activates = set(list(points.aggregate(pipeLine))[0]['users'])
result = two_weeks_users.intersection(one_week_activates)
print len(result)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment