diff options
Diffstat (limited to 'node_simple.js')
| -rw-r--r-- | node_simple.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/node_simple.js b/node_simple.js index b8ada6b..d3eddb4 100644 --- a/node_simple.js +++ b/node_simple.js @@ -15,6 +15,7 @@ * 10. comment_history ? DONE * 11. solutions_history ? DONE * 12. voting for solutions ? DONE + * 23. A search users function ? DONE * * */ @@ -98,6 +99,35 @@ var uri = exports.uri = 'mongodb://general:assignment4@ds057862.mlab.com:57862/ //****************************FUNCTIONS************************************************| +exports.search_users = function ( token, callback ) { + + mongoFactory.getConnection(uri).then(function (db) { + var users = db.collection('users'); + users.createIndex( // make the following fields searchable + { + "user_name":"text", + "f_name":"text", + "l_name":"text" + }); + users.find( + { $text: { $search: token } }, + { score: { $meta: "textScore" } } + ).sort( { score: { $meta:"textScore" } } ).toArray(function (err, docs) { + if (err) callback(false, "Error: some error while searhing"); + else { + // console.log(docs); + callback(true, docs); + } + }); + + db.close(); + + }).catch(function (err) { + console.error(err); + }); +}; + + exports.followExam = function (user_name, exam_id, callback) { exports.retrieveFollows(user_name, function (bool, result) { |
