@boehm_s , , , , . , , . string, . . , Mongoose , .
, , "", .
db.collection.createIndex(
{
name: "text",
location: "text"
}
)
, txtIndex,
Mongo Node
. . .
let userProjection = {
"name": 1,
"age": 1,
"location": 1
};
let findUsers = (req) => {
letUsers = db.collection('users');
return new Promise((resolve, reject) => {
User.findOne({'txtIndex': params.body.findMe}, {fields: userProjection},(err, user) => {
if (err) {
return reject({message: 'MongoDB Error', err: err});
}
if (!user) {
return reject({message: 'User not found!'});
}
return resolve(user);
});
});
}
Mongoose Way
let Users = require('./users-model.js);
/**
* @param req Contains information to find a user
* @param req.findMe Contains name concatenated to location
*/
let findUsers = (req) => {
Users.findOne({txtIndex: req.body.FindMe}).then( function (err, user) {
if (err) {
return reject({message: 'MongoDB Error', err: err});
}
if (!user) {
return reject({message: 'User not found!'});
}
return resolve(user);
});
}