commonroutesServer/controllers/searchController.js
controllers/searchController.jsRaw
1var config = require('../config');
2var pageSize=config.pageSize;
3
4var jwt = require('jsonwebtoken'); // used to create, sign, and verify tokens
5var express = require("express");
6var app = express();
7app.set('superSecret', config.secret); // secret variable
8
9var crypto = require('crypto');
10var mongoose = require('mongoose');
11var userModel = mongoose.model('userModel');
12var notificationModel = mongoose.model('notificationModel');
13var travelModel = mongoose.model('travelModel');
14
15exports.searchByString = function (req, res) {
16 console.log(req.params.searchstring);
17 userModel.find({
18 username: new RegExp(req.params.searchstring, "i")
19 })//to return all the objects containing the string, having exactly the same string
20 .limit(pageSize)
21 .skip(pageSize * Number(req.query.page))
22 .lean()
23 .select('username avatar')
24 .exec(function (err, users) {
25 if (err) return res.send(500, err.message);
26 travelModel.find({
27 $or:[
28 {'from.name': new RegExp(req.params.searchstring, "i")},
29 {'to.name': new RegExp(req.params.searchstring, "i")},
30 {title: new RegExp(req.params.searchstring, "i")}
31 ]
32 })//to return all the objects containing the string, without need of having the same string
33 .limit(pageSize)
34 .skip(pageSize * Number(req.query.page))
35 .lean()
36 .select('title from to date type')
37 .exec(function (err, travels) {
38 if (err) return res.send(500, err.message);
39 res.json({
40 users: users,
41 travels: travels
42 });
43 });//travels
44 });//users
45};