Все, я пытаюсь установить временную составляющую заказа. Поле OrderDate
определяется следующим образом:
{
"OrderDate" : {
"DateTime" : ISODate("2017-11-29T00:00:00.000+00:00"),
"Ticks" : 636475104000000000
}
}
I wi sh для обновления OrderDate
, который имеет ненулевой компонент времени, чтобы иметь компоненты времени 00: 00: 00.000+ 00:00. Порядок, в котором я sh меняю, выглядит так:
{
"OrderDate" : {
"DateTime" : ISODate("2020-04-17T01:52:14.280+01:00"),
"Ticks" : 637226815342800000
}
}
Я хочу, чтобы это тоже выглядело
"OrderDate" : {
"DateTime" : ISODate("2020-04-17T00:00:00.000+00:00"),
"Ticks" : 636475104000000000
}
Я пытаюсь использовать функцию
function (order)
{
const midnightTime = new Date(0, 0, 0, 0, 0, 0, 0);
print("midnightTime = " , midnightTime.toLocaleString());
print("orderTime = " , order.OrderDate.DateTime.toLocaleString());
order.OrderDate.DateTime = new Date(
order.OrderDate.DateTime.getFullYear(),
order.OrderDate.DateTime.getMonth(),
order.OrderDate.DateTime.getDay(),
0,
0,
0,
0);
print("orderTime = " , order.OrderDate.DateTime.toLocaleString());
//order.OrderDate.Ticks = NumberLong(636475104000000000);
db.Orders.save(order);
}
Результат:
- midnightTime = 31/12/1899, 00:00:00
- marketOrderTime = 17/04/2020, 01:52:14
- marketOrderTime = 05.04.2020, 00: 00: 00
Q1. Почему у меня здесь 05.04.2020, а не 17 / 04/2020, 00:00:00 и как это исправить? Q2. Когда я раскомментирую установку тиков, я получаю
"message": "Невозможно установить свойство 'Ticks' на ноль", "stack": "script: 27: 45" + "script: 28:91 сценарий «+»: 28: 91 сценарий «+»: 9: 7 "
как установить значение Tick?