Revision: 57602
Updated Code
at July 3, 2012 22:51 by konteck
Updated Code
makeId = function (doc) { var id = Math.floor(Math.random() * 900000) + 100000, that = this; // max(900000)/min(100000) var key = "", i, v, that = this; for (i = 0; i < 32; i++) { v = Math.random() * 16 | 0; if (i == 8 || i == 12 || i == 16 || i == 20) { key += '-'; } if (i == 12) { key += '4'; } else { key += (i == 16 ? (v & 3 | 8) : v).toString(16); } } var res = db.users.findOne({$or: [ {id: id}, {key: key} ]}); if(res) { makeId(doc); } else { doc.id = id; doc.key = key; db.users.save(doc); print(id); } } db.users.ensureIndex({id:1},{unique:true,sparse:true}) db.users.ensureIndex({key:1},{unique:true,sparse:true}) db.users.find().limit(10).forEach(function(doc){ makeId(doc); }) db.friends.find().limit(100000).forEach(function (doc) { var user = db.users.findOne({mysql_id: doc.user2}); var friend = db.users.findOne({mysql_id: doc.user1}); if (user && friend) { if (!(db.users.findOne({mysql_id: doc.user2, followers: friend._id}))) { user.followers.push(friend._id); db.users.save(user); print(friend._id); } } });
Revision: 57601
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at June 2, 2012 22:44 by konteck
Initial Code
makeId = function (doc) { var id = Math.floor(Math.random() * 900000) + 100000, that = this; // max(900000)/min(100000) var key = "", i, v, that = this; for (i = 0; i < 32; i++) { v = Math.random() * 16 | 0; if (i == 8 || i == 12 || i == 16 || i == 20) { key += '-'; } if (i == 12) { key += '4'; } else { key += (i == 16 ? (v & 3 | 8) : v).toString(16); } } var res = db.users.findOne({$or: [ {id: id}, {key: key} ]}); if(res) { makeId(doc); } else { doc.id = id; doc.key = key; db.users.save(doc); print(id); } } db.users.ensureIndex({id:1},{unique:true,sparse:true}) db.users.ensureIndex({key:1},{unique:true,sparse:true}) db.users.find().limit(10).forEach(function(doc){ makeId(doc); })
Initial URL
Initial Description
MongoDB
Initial Title
MongoDB Shell Commands
Initial Tags
Initial Language
JavaScript