[英]Building conditional mongoose query
我一直在尝试使此查询正常工作,并且感到非常沮丧。
我正在尝试搜索与电子邮件或用户名不匹配的电子邮件。 我正在将searchstr
和电子邮件传递给该函数。
我到了第一步,然后它给了我未定义的错误。 当我注释除var query = user.find()
之外的所有内容时,它消失了。
我也尝试过user.find({email:searchstr});
确保它不是查询,但可以。
我究竟做错了什么?
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
});
});
});
我没有使查询按我希望的方式工作,但我确实得到了解决方法,如果有人能给出比我更好的答案,那我会选择它作为答案。
我犯的主要错误是在forEach中,因为我猜没有err变量。
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('error'); console.log(err); callback({'res':false});}
users.forEach( function (userss) {
if(userss.email != email) {
friendlist.friendslist.push({
"profileURLImage" : userss.profile_pic_server,
"currentStatus" : userss.profile_status,
"userName" : userss.username,
"email" : userss.email,
"online_status" : userss.online_status
});
}
});
callback({'friends': friendlist.friendslist, 'res':true});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.