且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

MongoDB聚合:将日期转换为另一个时区

更新时间:2023-11-20 14:49:40

您需要将时间戳记添加到7 * 60 * 60 * 1000,您也可以在一个

You need to add the "timestamp" to 7 * 60 * 60 * 1000 also you can do this in one $project stage.

db.collection.aggregate([
    { "$project": {
        "year": { "$year": { "$add": [ "$timestamp", 7 * 60 * 60 * 1000 ] } }, 
        "month": { "$month": { "$add": [ "$timestamp", 7 * 60 * 60 * 1000 ] } }, 
        "day": { "$dayOfMonth": { "$add": [ "$timestamp", 7 * 60 * 60 * 1000 ] } } 
    } }
])

哪个返回:

{
        "_id" : ObjectId("56a07f8f8448ed9fd2359365"),
        "year" : 2016,
        "month" : 1,
        "day" : 21
}
{
        "_id" : ObjectId("56a07f8f8448ed9fd2359366"),
        "year" : 2016,
        "month" : 1,
        "day" : 20
}