Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在查找查询或检索时将UTC日期转换为mongoose中用户指定的时区_Mongoose - Fatal编程技术网

如何在查找查询或检索时将UTC日期转换为mongoose中用户指定的时区

如何在查找查询或检索时将UTC日期转换为mongoose中用户指定的时区,mongoose,Mongoose,我们需要在执行查找查询或检索时将mongodb中存储的日期转换为用户指定的时区 这适用于所有日期。我们正在使用nodejs/mongoose 我尝试使用聚合投影datetostring,但似乎没有效果 任何人都可以分享如何实现它吗 我在下面试过,但没有效果。程序是我的模型 Program.findById(req.params.programId,"-ae_config"/*, {"$expr": [{ "$project": { date: { $dateToS

我们需要在执行查找查询或检索时将mongodb中存储的日期转换为用户指定的时区

这适用于所有日期。我们正在使用nodejs/mongoose

我尝试使用聚合投影datetostring,但似乎没有效果

任何人都可以分享如何实现它吗

我在下面试过,但没有效果。程序是我的模型

Program.findById(req.params.programId,"-ae_config"/*, {"$expr": [{
    "$project": {
            date: { $dateToString: { "format": "%Y-%m-%d", date: "programStartDate", timezone: "America/New_York"} },
    }
}]}*/).populate('roles').exec(function (err, program) {

我认为数据库应该只处理UTC,在其他时区转换是一个前端问题(因此用户可以选择他们的时区等)。@Alex完全正确。无论您做什么,都要将所有日期时间存储在UTC中,并通过相应地调整搜索参数来处理您的需求。您必须有一个单一的标准方法来知道存储的所有值,以便有一个单一的方法来跨这些值进行查询。UTC绝对是您的答案。我们以UTC格式存储在mongo DB中。我在nodejs的中间层或API端工作。。当我在将数据传递到UI的同时从DB进行查询时,我们试图在用户本地时区中进行转换。e、 g如果UTC日期为UTC凌晨3:00,如果登录的用户时区为EST,则应显示为晚上10点,因为我发布了我正在尝试使用datetostring聚合,但该聚合似乎不起作用,似乎不起作用?也许是在“抛出错误”中?如果你真的犯了一个错误,那么你需要在你的问题中说出来。“不工作”不是一个足够具体的说法。如果它与“错误”不同,那么你也需要证明这一点。但很可能是因为您没有MongoDB 3.6,正如文档页面告诉您的那样,实际上需要使用
“时区”
选项。