commonroutesServer/controllers/searchController.js
controllers/searchController.jsRaw
1//File: controllers/userController.js
2var mongoose = require('mongoose');
3var userModel = mongoose.model('userModel');
4var notificationModel = mongoose.model('notificationModel');
5var travelModel = mongoose.model('travelModel');
6
7
8/* */
9var jwt = require('jsonwebtoken'); // used to create, sign, and verify tokens
10var express = require("express");
11var app = express();
12var config = require('../config'); // get our config file
13app.set('superSecret', config.secret); // secret variable
14
15var crypto = require('crypto');
16/* */
17
18
19exports.searchByString = function (req, res) {
20 console.log(req.params.searchstring);
21 userModel.find({
22 username: new RegExp(req.params.searchstring, "i")
23 })//perquè retorni tots els objectes que continguin l'string sense necessitat de que sigui exactament la mateixa string
24 .limit(Number(req.query.pageSize))
25 .skip(Number(req.query.pageSize) * Number(req.query.page))
26 .lean()
27 .select('username avatar')
28 .exec(function (err, users) {
29 if (err) return res.send(500, err.message);
30 travelModel.find({
31 $or:[
32 {'from.name': new RegExp(req.params.searchstring, "i")},
33 {'to.name': new RegExp(req.params.searchstring, "i")},
34 {title: new RegExp(req.params.searchstring, "i")}
35 ]
36 })//perquè retorni tots els objectes que continguin l'string sense necessitat de que sigui exactament la mateixa string
37 .limit(Number(req.query.pageSize))
38 .skip(Number(req.query.pageSize) * Number(req.query.page))
39 .lean()
40 .select('title from to date type')
41 .exec(function (err, travels) {
42 if (err) return res.send(500, err.message);
43 res.json({
44 users: users,
45 travels: travels
46 });
47 });//travels
48 });//users
49};