app.post('/post/:id', function * (next) { //var user = yield User.findOne(this.params.id); console.log(this.params); var id = this.params.id; $("database.collection").find({ "id": id }, function(r) { console.log('find db', r, r.numberReturned); if (r.numberReturned != 0) { $("database.collection").update({ "id": id }, { progress: '50%' }, function(r) { console.log('updated'); }); } //this.body = r; }); $("database.collection").save({ id: this.params.id }); console.log('trying to save to database'); this.body = 'received ', this.params.id; });
$('oneandseven.follow').find(1, query, function(reply) { if (reply.numberReturned) { return res.json({errcode: 3, errmsg: '已经关注过了'}) } var doc = { time: new Date(), userid: userid, feedid: feedid } $('oneandseven.follow').save(doc) $('oneandseven.follow').find(1, doc, function(reply) { if (reply.numberReturned) { $('oneandseven.users').update({ _id: ObjectID(userid) }, { '$inc': { "follow": 1 } }) $('oneandseven.users').update({ _id: ObjectID(feedid) }, { '$inc': { "fans": 1 } }) res.json({errcode: 0, errmsg: '关注成功'}) } else { res.json({errcode: 2, errmsg: '关注发生错误'}) } }) })
$('oneandseven.follow').find(1, query, function(reply) { var errcode var errmsg if (reply.numberReturned) { errcode = 2 errmsg = '取消关注发生错误' } else { errcode = 0 errmsg = '取消关注成功' $('oneandseven.users').update({ _id: ObjectID(userid) }, { '$inc': { "follow": -1 } }) $('oneandseven.users').update({ _id: ObjectID(feedid) }, { '$inc': { "fans": -1 } }) } res.json({errcode: errcode, errmsg: errmsg}) })
$('oneandseven.tags').find(1, query, function(reply) { var picture = reply.documents[0].picture if (picture) { if (~picture.indexOf('qiniudn.com')) { var name = picture.split('qiniudn.com/')[1] // 要的不是完整路径而是文件名 client.delete(name, function(err) { console.log(err) }) } else if (~picture.indexOf('clouddn.com')) { var name = picture.split('clouddn.com/')[1] client.delete(name, function(err) { console.log(err) }) } } $('oneandseven.tags').remove(query) $('oneandseven.tags').find(1, query, function(reply) { var errcode var errmsg if (reply.numberReturned) { errcode = 2 errmsg = '删除标签发生错误' } else { errcode = 0 errmsg = '删除标签成功' } res.json({errcode: errcode, errmsg: errmsg}) }) })
}, function(r) { if (r.numberReturned != 0) { //console.log('updating......',r.documents,'==========>',merge({id: req.params.id}, req.param('data'))); $("database.collection").update({ id: req.params.id }, merge({ id: req.params.id }, req.param('data'))); } else { console.log('saveing new data for ', req.params.id); $("database.collection").save(merge({ id: req.params.id }, req.param('data'))); } io.emit('update post', { user: user, data: req.param('data') }); //handle module if(id.indexOf('m') > -1 ){ setConfig({ user:user, type:'add', value:id, configItem : 'moduleList', cb:function(response){ res.send(response); } }); }else{ res.send({id:req.params.id,data:req.param('data'),user:user}); } });
$('oneandseven.tags').find(1, query, function(reply) { // 标签一定要有 if (reply.numberReturned) { var tag = reply.documents[0] var query = { _id: ObjectID(tag.userid) } $('oneandseven.users').find(1, query, function(reply) { // 标签创建者 if (reply.numberReturned) { res.render('tag', { title: settings.title, tag: tag, user: req.session.user, // user就是登录用户的信息 没登录就是 0 currentUser: reply.documents[0], success: req.flash('success').toString(), error: req.flash('error').toString() }) } else { req.flash('error', '用户不存在') res.redirect('/error') } }) } else { req.flash('error', '标签不存在') res.redirect('/error') } })
$('oneandseven.follow').find(query, function(reply) { if (reply.numberReturned) { var arr = [] for (var i = 0, l = reply.numberReturned; i < l; i++) { arr.push(ObjectID(reply.documents[i].userid)) } $('oneandseven.users').find({"_id": {"$in": arr}}, function(reply) { res.render('fans', { title: settings.title, user: req.session.user, users: reply.numberReturned ? reply.documents : [], success: req.flash('success').toString(), error: req.flash('error').toString() }) }) } else { res.render('fans', { title: settings.title, user: req.session.user, users: [], success: req.flash('success').toString(), error: req.flash('error').toString() }) } })
var get_page_info = function (err, res, body) { var urlparsed = {}; if (!err) { try { $ = cheerio.load(body); console.log(res.request.href); for (var key in tags){ urlparsed[key] = tags[key]($); } urlparsed["url"] = res.request.href; // console.log(urlparsed); db("search.parsedurls").save(urlparsed); } catch (e) { console.log("error parsing dom"); eventEmitter.emit("parseFinished"); } } else { console.log(err); console.log(++errcount); // db("search.parsedurls").save(urlparsed); } eventEmitter.emit("parseFinished"); };
router.getConfig(user, function(response) { // console.log('getfromDB', response); var enabledMod = response['moduleList']; var select = ['mod_id']; var db = []; for (var i = 0, l = enabledMod.length; i < l; i++) { for (var j = 0, lj = select.length; j < lj; j++) { var k = select[j]; var v = enabledMod[i]; var _tmp = {}; _tmp[k] = v; db.push(_tmp); } } //console.log('dbbbbbbb', db); $("database.collection").find({ $or: db }, function(r) { var opt = { user: user }; // mailSend(createEmailHtml(r, opt), { // sendName: user // }); createEmailHtml(r, opt, function(html) { mailSend(html, { sendName: user }) }); }); })
heros.forEach(function(hero) { db('db.gonglves').find({hero_id:hero.id}, function(r){ if (r.documents.length == 0) { console.log(hero.id + " " + hero.name); } }); });
app.get('/removeuser/:id', function(req, res) { $("database.collection").remove({ user: req.params.id }); });
router.getConfig(user, function(response) { // console.log('getfromDB', response); var enabledMod = response['moduleList']; var select = ['mod_id']; var db = []; for (var i = 0, l = enabledMod.length; i < l; i++) { for (var j = 0, lj = select.length; j < lj; j++) { var k = select[j]; var v = enabledMod[i]; var _tmp = {}; _tmp[k] = v; db.push(_tmp); } } $("database.collection").find({ $or: db }, function(r) { //console.log('get all from db all', r.documents); for (var i = 0, l = r.documents.length; i < l; i++) { delete r.documents[i]._id; } //console.log('get all', r.documents); var opt = { user: user } createEmailHtml(r, opt, function(html) { res.send(html) }); // res.send(createEmailHtml(r, opt)); }); })
app.get('/clearUser', function(req, res) { $("database.collection").find({ "user": { $exists: true } }, function(r) { var users = r.documents; for (var i = 0, l = users.length; i < l; i++) { var user = users[i]; if (typeof user['user'] == 'object') { var _tmp = user; user['user'] = user['user']['user']; $("database.collection").update({ _id: user['_id'] }, user); } $("database.collection").find({ 'user': user['user'] }, function(r) { if (r.numberReturned > 1) { for (var i = 1, l = r.numberReturned; i < l; i++) { $("database.collection").remove({ '_id': r.documents[i]['_id'] }) } } }); } }); });
db(property.database.article).find({articleid : articleid}, 1, function(reply) { var doc = reply.documents[0]; if (!doc) doc = { title: 'oops', content: 'we can not find the article you want', keywords: [] }; else { // find the keywords if (doc.keywords) doc.keywords = doc.keywords.map(function(keyword) { return keyword[0]; }); else doc.keywords = []; // find the articleid of similar articles and find the meta data or these articles db(property.database.similar).find({articleid: doc.articleid}, function(reply2) { async.map(reply2.documents[0].similar, function(arti, cb) { db(property.database.article).find({articleid: arti}, 1, function(reply3) { var doc = reply3.documents[0]; cb(null, {title: doc.title, link: '/article/' + doc.articleid}); }); }, function(err, result) { if (err) console.log(err); else { res.render('article', { title: doc.title, content: doc.content, keywords: doc.keywords, recommends: result }); } }); }); } });
app.get('/search/:value', function(req, res) { console.log('searching.......................', req.params.value); $("database.collection").find({ $or: [{ "title": { $exists: true } }, { "name": { $exists: true } }] }, function(r) { //console.log('from db', r, r.documents, r.numberReturned); var result = []; for (var i = 0, l = r.documents.length; i < l; i++) { //console.log('diff,',req.params.value,r.documents[i].title||r.documents[i].name); if ((!!r.documents[i].title && r.documents[i].title.indexOf(req.params.value) > -1) || (!!r.documents[i].name && r.documents[i].name.indexOf(req.params.value) > -1)) { result.push(r.documents[i]); } } console.log('result', result); res.send(result); }); })
/* * 1.不需要登录状态 * 2.显示用户与登录用户不一致 */ function renderHome(req, res) { var userid = req.params.userid if (userid && userid.length == 24) { var query = { _id: ObjectID(userid) } $('oneandseven.users').find(1, query, function(reply) { if (reply.numberReturned) { res.render('home', { title: settings.title, user: req.session.user, currentUser: reply.documents[0], success: req.flash('success').toString(), error: req.flash('error').toString() }) } else { req.flash('error', '不存在该用户') res.redirect('/error') } }) } else { req.flash('error', '参数错误') res.redirect('/error') } }
/* * 1.需要登录状态,接口判断登录 */ function unfollow(req, res) { if (!req.session.user) { return res.json({errcode: 4, errmsg: '未登录'}) } var feedid = req.body.userid var userid = req.session.user._id if (feedid && userid && feedid.length == 24 && userid.length == 24) { var query = { feedid: feedid, userid: userid } $('oneandseven.follow').remove(query) $('oneandseven.follow').find(1, query, function(reply) { var errcode var errmsg if (reply.numberReturned) { errcode = 2 errmsg = '取消关注发生错误' } else { errcode = 0 errmsg = '取消关注成功' $('oneandseven.users').update({ _id: ObjectID(userid) }, { '$inc': { "follow": -1 } }) $('oneandseven.users').update({ _id: ObjectID(feedid) }, { '$inc': { "fans": -1 } }) } res.json({errcode: errcode, errmsg: errmsg}) }) } else { res.json({errcode: 1, errmsg: '参数错误'}) } }
client.uploadFile(writepath, {key: utils.generateFilename(req.session.user._id, format)}, function(err, result) { if (err || !result) { _handleError(req, res, '图片上传发生错误', path, writepath) } var query = { _id: ObjectID(req.session.user._id), } var doc = { avatar: result.url } if (fs.existsSync(path) && fs.existsSync(writepath)) { fs.unlinkSync(path) fs.unlinkSync(writepath) } $('oneandseven.users').find(1, query, function(reply) { if (reply.numberReturned) { var picture = reply.documents[0].avatar $('oneandseven.users').update(query, { '$set': doc }) $('oneandseven.users').find(1, { _id: query._id, avatar: doc.avatar }, function(reply) { if (reply.numberReturned) { if (picture && ~picture.indexOf('qiniudn.com')) { var name = picture.split('qiniudn.com/')[1] client.delete(name, function(err) { console.log(err) }) } else if (picture && ~picture.indexOf('clouddn.com')) { var name = picture.split('clouddn.com/')[1] client.delete(name, function(err) { console.log(err) }) } req.session.user.avatar = result.url req.flash('success', '头像修改成功') res.redirect('/set/avatar') } else { req.flash('error', '数据更新发生错误') res.redirect('/set/avatar') } }) } else { req.flash('error', '用户不存在') res.redirect('/set/avatar') } }) })
}, function(r) { if (r.numberReturned > 1) { for (var i = 1, l = r.numberReturned; i < l; i++) { $("database.collection").remove({ '_id': r.documents[i]['_id'] }) } } });
// API /* * 1.需要登录状态,接口判断登录 */ function follow(req, res) { if (req.session.user) { var feedid = req.body.userid var userid = req.session.user._id if (feedid && userid && feedid.length == 24 && userid.length == 24) { if (feedid == userid) { return res.json({errcode: 5, errmsg: '不能关注自己'}) } var query = { userid: userid, feedid: feedid } $('oneandseven.follow').find(1, query, function(reply) { if (reply.numberReturned) { return res.json({errcode: 3, errmsg: '已经关注过了'}) } var doc = { time: new Date(), userid: userid, feedid: feedid } $('oneandseven.follow').save(doc) $('oneandseven.follow').find(1, doc, function(reply) { if (reply.numberReturned) { $('oneandseven.users').update({ _id: ObjectID(userid) }, { '$inc': { "follow": 1 } }) $('oneandseven.users').update({ _id: ObjectID(feedid) }, { '$inc': { "fans": 1 } }) res.json({errcode: 0, errmsg: '关注成功'}) } else { res.json({errcode: 2, errmsg: '关注发生错误'}) } }) }) } else { res.json({errcode: 1, errmsg: '参数错误'}) } } else { res.json({errcode: 4, errmsg: '未登录'}) } }
module.exports = function(cb) { console.log('routes.getUsers trying to get users'); $("database.collection").find({ "user": { $exists: true } }, function(r) { cb(r.documents); }); }
this.parseData = function(stream) { // parse the full page of data console.log("all done, parsing the page"); var j = JSON.parse(this.data); console.log("num of repos on this page " + j.length); for (i in j) { console.log("saving " + j[i]); m("mozdata.repos").save(j[i]); } }
app.get('/getuser', function(req, res) { $("database.collection").find({ "user": { $exists: true } }, function(r) { // console.log(r.documents); res.send(r.documents); }); });
function delTag(req, res) { var tagid = req.body.tagid if (tagid && tagid.length == 24) { var query = { tagid: tagid } $('oneandseven.notes').find(1, query, function(reply) { if (reply.numberReturned) { res.json({errcode: 3, errmsg: '标签下面存在多条笔记'}) } else { var query = { userid: req.session.user._id, _id: ObjectID(tagid) } $('oneandseven.tags').find(1, query, function(reply) { var picture = reply.documents[0].picture if (picture) { if (~picture.indexOf('qiniudn.com')) { var name = picture.split('qiniudn.com/')[1] // 要的不是完整路径而是文件名 client.delete(name, function(err) { console.log(err) }) } else if (~picture.indexOf('clouddn.com')) { var name = picture.split('clouddn.com/')[1] client.delete(name, function(err) { console.log(err) }) } } $('oneandseven.tags').remove(query) $('oneandseven.tags').find(1, query, function(reply) { var errcode var errmsg if (reply.numberReturned) { errcode = 2 errmsg = '删除标签发生错误' } else { errcode = 0 errmsg = '删除标签成功' } res.json({errcode: errcode, errmsg: errmsg}) }) }) } }) } else { res.json({errcode: 1, errmsg: '参数错误'}) } }
function updatePassword(req, res) { var oldPassword = req.body.oldPassword var newPassword = req.body.newPassword var newPassword_re = req.body['newPassword-repeat'] if (!oldPassword || !newPassword || !newPassword_re) { req.flash('error', '参数错误') return res.redirect('/set/password') } if (newPassword != newPassword_re) { req.flash('error', '两次输入的密码不一致') return res.redirect('/set/password') } // 生成密码的 md5 值 var md5 = crypto.createHash('md5') var oldPassword_md5 = md5.update(oldPassword).digest('hex') var md5 = crypto.createHash('md5') var newPassword_md5 = md5.update(newPassword).digest('hex') var query = { _id: ObjectID(req.session.user._id), password: oldPassword_md5 } var doc = { password: newPassword_md5 } $('oneandseven.users').find(1, query, function(reply) { if (reply.numberReturned) { $('oneandseven.users').update(query, { '$set': doc }) $('oneandseven.users').find(1, { _id: query._id, password: doc.password }, function(reply) { if (reply.numberReturned) { req.flash('success', '修改成功') } else { req.flash('error', '修改发生错误') } res.redirect('/set/password') }) } else { req.flash('error', '原密码不正确') return res.redirect('/set/password') } }) }
function Table(name) { var dbname = 'test' if (Config.database && Config.database.name) { dbname = Config.database.name } if (!tableHash[name]) tableHash[name] = Db(dbname + '.' +name) return tableHash[name] }
db("search.urls").find(nbUrls, function (reply) { var documents = reply.documents; expectedFinished = documents.length; for (var i = documents.length - 1; i >= 0; i--) { request(documents[i], get_page_info); db("search.urls").remove(documents[i], true); } });
$('oneandseven.follow').find(1, doc, function(reply) { if (reply.numberReturned) { $('oneandseven.users').update({ _id: ObjectID(userid) }, { '$inc': { "follow": 1 } }) $('oneandseven.users').update({ _id: ObjectID(feedid) }, { '$inc': { "fans": 1 } }) res.json({errcode: 0, errmsg: '关注成功'}) } else { res.json({errcode: 2, errmsg: '关注发生错误'}) } })
$('oneandseven.users').find(1, query, function(reply) { if (reply.numberReturned) { $('oneandseven.users').update(query, { '$set': doc }) $('oneandseven.users').find(1, { _id: query._id, password: doc.password }, function(reply) { if (reply.numberReturned) { req.flash('success', '修改成功') } else { req.flash('error', '修改发生错误') } res.redirect('/set/password') }) } else { req.flash('error', '原密码不正确') return res.redirect('/set/password') } })
function getTags(req, res) { var category = req.body.category var userid = req.body.userid var diyfilter = req.body.diyfilter var review = req.body.review var page = req.body.page || 1 var limit = parseInt(req.body.limit, 10) || 10 if (category && userid && userid.length == 24) { var query = { userid: userid, categoryid: category } if (review) { query.review = review } if (diyfilter && diyfilter === '0') { query.diyfilterid = { "$in": [undefined, "0"] } } else if (diyfilter && diyfilter.length == 24) { query.diyfilterid = diyfilter } // 如果不是标签创建者始终请求公开的标签 if (!req.session.user || req.session.user._id != userid) { query.privacy = { "$in": [undefined, "0"] } } $('oneandseven.tags').find(query, {}, { lim: limit + 1, skip: (page - 1) * limit, sort: { time: -1 } }, function(reply) { if (reply.numberReturned) { res.json({tags: reply.documents, total: reply.numberReturned}) } else { res.json({errcode: 2, errmsg: '没有标签'}) } }) } else { res.json({errcode: 1, errmsg: '缺少参数'}) } }