J'ai essayé de faire fonctionner cette requête et je suis extrêmement frustrée.Création d'une requête conditionnelle mongoose
J'essaie de faire une recherche par rapport à l'adresse e-mail ou au nom d'utilisateur avec l'e-mail ne correspondant pas à celui passé. Je passe searchstr
et envoie un courriel à la fonction. J'arrive aussi loin que l'étape 1 et cela me donne une erreur indéfinie. Il s'en va quand je commente tout sauf le var query = user.find()
.
J'ai également essayé user.find({email:searchstr});
pour m'assurer que ce n'est pas la requête mais cela fonctionne.
Qu'est-ce que je fais mal?
var friendlist = { friendslist: []};
var query = user.find();
query.or([{ email: searchstr }, { username: searchstr }]);
//query.where(email);
//query.ne(email);
query.exec(function (err,users) {
if(err != null) {console.log(err); callback({'res': false});}
console.log('step1')
users.forEach(function (err,userss) {
if(err != null) {console.log(err); callback({'res': false});}
console.log('step2')
friendlist.friendslist.push({
"profileURLImage" : userss.profile_pic_server,
"currentStatus" : userss.profile_status,
"userName" : userss.username,
"email" : userss.email,
"online_status" : userss.online_status
});
});
});
Ce qui ne fonctionne pas exactement pour vous? La condition de la requête va essayer de faire correspondre "email" et si cela renvoie false, alors essayer de faire correspondre "nom d'utilisateur". –
Il me donne une erreur indéfinie, mais il fonctionne à la seconde je commente la fonction ou. –
Peut-être montrer un exemple de document pour rendre votre question plus claire pour les autres. –