aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--node_simple.js30
-rw-r--r--testImports.js5
2 files changed, 35 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) {
diff --git a/testImports.js b/testImports.js
index 7546f06..6a900e1 100644
--- a/testImports.js
+++ b/testImports.js
@@ -134,3 +134,8 @@ dbFile.retrieveFollows("some_user names", function (bool, result) {
/*dbFile.vote_solution("5792d8a970040378d4e4b389" , "down", function (bool, mssg) {
console.log(mssg);
});*/
+
+
+dbFile.search_users("david", function (bool, mssg) {
+ if (mssg.length != 0) console.log(mssg);
+});