使用Node和Express连接Mongodb的日期问题

3

I have an api with node, express and mongodb

Save

function SaveOfferDay(req, res){
    var update = req.body;
    var id = req.params.id;

    Offer.update(   {"_id": id},{"$addToSet": {"date": {"day" : new Date("2018-
                12-04"),}}}, (err, offerUpdated) => {
        if(err) return res.status(500).send({message: 'Error en la petición'});
        return res.status(200).send({offer: offerUpdated});

    });
}

2018-12-04T00:00:00.000Z

我希望日期变为

2018-12-04T23:00:00.000Z

现在,我想要进行查询,显示所有在这个日期之后的结果。

查询

function getOffer(req, res){
    var cityId = req.params.city;
    var hoy = new Date();



    if(req.params.page){
        var page = req.params.page;
    }else{
        var page = 1;
    }

    var itemsPerPage = 4;

    Offer.find({city:cityId,'date.day' : {"$gte" :'2018-12-05' }
    }).sort('name').paginate(page, itemsPerPage, function(err, offers,
    total){
        if(err){
            res.status(500).send({message: 'Error en la petición.'});
        }else{
            if(!offers){
                res.status(404).send({message: 'No existe!! !!'});
            }else{

                return res.status(200).send({
                    total_items: total,
                    offers: offers
                });
            }

        }
    });
}

这里是问题

当我进行查询并希望你返回当天的记录时,却找不到。我一直在寻找原因,发现问题出在记录保存的时间上。

看看是否有人能理解我的意思。

1个回答

0

最终我不知道如何做,但我找到了另一个解决方案

我认为这可能很好,至少对我有效。

我使用了momentjs来搜索日期,而不考虑时间。

moment(new Date).format('MM/DD/YYYY')

var moment = require('moment');

function getOffer(req, res){
    var cityId = req.params.city;
    var hoy = new Date();



    if(req.params.page){
    var page = req.params.page;
    }else{
    var page = 1;
    }

    var itemsPerPage = 4;

Offer.find({city:cityId,'date.day' : {"$gte" :moment(new Date).format('MM/DD/YYYY') }
}).sort('name').paginate(page, itemsPerPage, function(err, offers,
total){
    if(err){
        res.status(500).send({message: 'Error en la petición.'});
    }else{
        if(!offers){
            res.status(404).send({message: 'No existe!! !!'});
        }else{

            return res.status(200).send({
                total_items: total,
                offers: offers
            });
        }

    }
});
}

谁想要的话,可以给我你的意见,我会很感激的


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接