节点js为mongoose CastError:对于值" {' $ gte':2013-12-12T16:00:00.000Z

时间:2017-10-10 08:00:46

标签: node.js mongoose

代码:

module.exports.updateInformation = function(callback){  
    test.update({'test':''}, {
        'created_at': {
            '$gte': new Date('2013-12-12T16:00:00.000Z'),//new Date(new Date().setDate(new Date().getDate()-2)),
            '$lte': new Date('2018-12-12T16:00:00.000Z') //new Date(new Date().setDate(new Date().getDate()-1))
        }
    }, callback);
}

1 个答案:

答案 0 :(得分:0)

您必须重新检查更新方法的mongoose文档。 http://mongoosejs.com/docs/api.html#model_Model.update

第一个参数是条件对象。在你的情况下:

'created_at': {
   '$gte': new Date('2013-12-12T16:00:00.000Z'),//new Date(new Date().setDate(new Date().getDate()-2)),
   '$lte': new Date('2018-12-12T16:00:00.000Z') //new Date(new Date().setDate(new Date().getDate()-1))
}

第二个参数是您要更新的文档。 例如(来自docs):

Tank.update({ _id: id }, { $set: { size: 'large' }}, callback);

希望这可以帮助你理解你的错误。