使用$ gt标签mongoose查询

时间:2016-09-12 12:22:06

标签: node.js mongodb mongoose

所以我正在对我的MongoDB进行一个非常简单的查询,我想查找持续时间高于当前日期的所有对象。我的问题:

Campaign.find({ 'duration': { $gt: Date.now() } }, function(err, numAffected){
  if(err){
    console.log(err);
  }else{
    console.log(numAffected);
    console.log(typeof numAffected);
  }
});

当我直接在Robomongo中运行此查询时,我得到了一个持续时间大于当前时间的对象的预期结果。另外,当使用没有$ gt-tag的mongoose时,我得到了我想要提取的对象。上面的查询给了我一个空的数组对象。

我的猫鼬版本是2.4.10。

模型中的Duration对象如下所示:

duration: {
//How long should the campaign last
type: Date,
default: function(){return +new Date() + 7*24*60*60*1000;},
required: 'Please fill the duration of the Campaign. Default is 1 week.'
},

1 个答案:

答案 0 :(得分:1)

你可以做这样的事情

{

Campaign.find({ 'duration': { "$gt" : { "$date" : new Date()}}, function(err, numAffected){
  if(err){
    console.log(err);
  }else{
    console.log(numAffected);
    console.log(typeof numAffected);
  }
});

}