Вот мои дубли:
1) Могу ли я сохранить только время (чч: мм: сс) в timein, в файлах тайм-аутов?
Нет, вы не можете 'т.Поле типа даты всегда будет полной датой.Тем не менее, во время чтения вы можете выбрать чтение только чч мм и его часть, например:
d.getHours()
d.getMinutes()
, но это звучит слишком сложно.Лучшее, что я могу предложить, это использовать миллисекунды.Пользователь хранит и читает определенное время в timeInMillies вместо типа Date.Имея поле NumberLong в mongo, его будет проще сравнивать, складывать, вычитать, а во время чтения вы можете преобразовать его обратно в Date.
2) как я могу вычесть значение тайм-аута субдокумента?
Если вы хотите, чтобы миллисекунды убрали, делите мои 1000
db.time.aggregate([
{
$unwind:"$timing"
},
{
$project:{
diff:{
$divide:[
{
$subtract:[
"$timing.timeout",
"$timing.timein"
]
},
1000
]
}
}
}
])