//File: controllers/userController.js var mongoose = require('mongoose'); var userModel = mongoose.model('userModel'); var notificationModel = mongoose.model('notificationModel'); var travelModel = mongoose.model('travelModel'); /* */ var jwt = require('jsonwebtoken'); // used to create, sign, and verify tokens var express = require("express"); var app = express(); var config = require('../config'); // get our config file app.set('superSecret', config.secret); // secret variable var crypto = require('crypto'); /* */ exports.searchByString = function (req, res) { console.log(req.params.searchstring); userModel.find({ username: new RegExp(req.params.searchstring, "i") })//perquè retorni tots els objectes que continguin l'string sense necessitat de que sigui exactament la mateixa string .limit(Number(req.query.pageSize)) .skip(Number(req.query.pageSize) * Number(req.query.page)) .lean() .select('username avatar') .exec(function (err, users) { if (err) return res.send(500, err.message); travelModel.find({ $or:[ {'from.name': new RegExp(req.params.searchstring, "i")}, {'to.name': new RegExp(req.params.searchstring, "i")}, {title: new RegExp(req.params.searchstring, "i")} ] })//perquè retorni tots els objectes que continguin l'string sense necessitat de que sigui exactament la mateixa string .limit(Number(req.query.pageSize)) .skip(Number(req.query.pageSize) * Number(req.query.page)) .lean() .select('title from to date type') .exec(function (err, travels) { if (err) return res.send(500, err.message); res.json({ users: users, travels: travels }); });//travels });//users };