Skip to content

Instantly share code, notes, and snippets.

@robyoung
Created November 1, 2010 14:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robyoung/658286 to your computer and use it in GitHub Desktop.
Save robyoung/658286 to your computer and use it in GitHub Desktop.
db.journeys.find({is_bot:false, event_count:{$gt:3000}}).forEach(function(journey) {
var bot_user = db.users.findOne({is_bot:true, user_agent:journey.user_agent, _id:{$ne:journey.user}});
if (bot_user) {
var user = db.users.findOne({_id:journey.user});
db.journeys.update({user:journey.user}, {$set:{is_bot:true, user:bot_user._id}}, false, true);
db.users.update({_id:bot_user._id}, {$inc:{journey_count:user.journey_count, event_count:user.event_count}, $addToSet:{ip_addresses:user.ip_addresses}});
db.events.update({user:journey.user}, {$set:{is_bot:true, user:bot_user._id}}, false, true);
} else {
db.users.update({_id:journey.user}, {$set:{is_bot:true}}, false, true);
db.journeys.update({user:journey.user}, {$set:{is_bot:true}}, false, true);
db.events.update({user:journey.user}, {$set:{is_bot:true}}, false, true);
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment