我试图用谷歌搜索这个问题,但一无所获,我很惊讶,所以我会为了搜索引擎而问这个问题。
有没有办法在给定特定时区的情况下获取当前日历日的所有现有文档?我想我将把时刻时区和 Mongoose 联系在一起,但我想知道是否已经存在这方面的代码,这样我就不必从头开始,谢谢。
最佳答案
假设您有一个集合 col
,其字段 dateTime
类型为 BSON date解释为UTC。然后,您想要获取 America/New_York
时区(日历日从 UTC 后 5 小时开始)12 月 25 日的所有文档。为此,您可以使用 $dateFromParts聚合框架中的运算符并将时区作为参数传递:
db.col.aggregate([
{
$match: {
$expr: {
$and: [
{ $gte: [ "$dateTime", { $dateFromParts: { 'year' : 2018, 'month' : 12, 'day': 25, timezone: 'America/New_York' } } ] },
{ $lte: [ "$dateTime", { $dateFromParts: { 'year' : 2018, 'month' : 12, 'day': 26, timezone: 'America/New_York' } } ] }
]
}
}
}
])
timezone
表达式可以是 Olson timezone identifier (如 America/New_York
)或 UTC 偏移量,如 +05:00
关于node.js - 如何在 Mongoose/MongoDB 中获取当前日历日的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53924909/