我有一个类似于
的查找查询Message.find({active: true},function(err,docs){
if(err){
console.log(err);
return true;
}
console.log(docs);
for(i in docs){
if(minutes % docs[i].interval === 0){
chatBot.say(config.channels[0], docs[i].message);
}
}
});
这里我正在查找所有活动的消息,一旦我得到那些我遍历每个消息以查看间隔字段是否等于每分钟增加的分钟变量模数。
我不仅可以通过活动消息进行搜索,还可以搜索满足模数要求的消息,这样我就不必返回与我想要的不匹配的消息。
我对mongoose很新,所以我尝试使用谷歌搜索,但我不确定如何使这个查询工作。
答案 0 :(得分:0)
我能够以这种方式工作
Message.find({active: true}).$where(minutes+' % this.interval === 0').exec(function(err,docs){
if(err){
console.log(err);
return true;
}
console.log(docs);
if(docs.length > 0){
for(i in docs){
chatBot.say(config.channels[0], docs[i].message);
}
}
});
我发现有一个.mod()
函数但是在文档编号之前将文档中的值放在第一位,我需要反过来,所以我在查询文档中找到了运行像这样查询,我可以按照我需要的顺序得到数字。