Пожалуйста, попробуйте это:
К вашему сведению, даты в mongoDB по умолчанию UT C. Пожалуйста, проверьте это: * MongoDB-Date ()
db.collection.aggregate([{$addFields : {dateField : new Date()}}])
Сбор данных:
/* 1 */
{
"_id" : ObjectId("5e287d7ad02e05b694bcce8a"),
"addingDate" : true
}
Результат:
/* 1 */
{
"_id" : ObjectId("5e287d7ad02e05b694bcce8a"),
"addingDate" : true,
"dateField" : ISODate("2020-01-22T17:03:17.928Z") // In UTC
}
На всякий случай, если вам нужно добавить местное время, введите time-zone
:
db.collection.aggregate([{
$addFields: {
dateField: {
$dateToParts: { date: new Date(), timezone: "America/New_York" }
}
}
},
{
$addFields: {
dateField: {
$dateFromParts: {
'year': '$dateField.year', 'month': '$dateField.month', 'day': '$dateField.day',
'hour': '$dateField.hour', 'minute': '$dateField.minute', 'second': '$dateField.second', 'millisecond': '$dateField.millisecond'
}
}
}
}])
Результат:
/* 1 */
{
"_id" : ObjectId("5e287d7ad02e05b694bcce8a"),
"addingDate" : true,
"dateField" : ISODate("2020-01-22T12:03:17.928Z") // Date in passed in time-zone
}