Этот синтаксис предназначен для поиска любой даты объекта "gt" или между двумя датами с "lt", поэтому я делаю это:
db.compte.aggregate([
{
$project: {
time: {
$filter: {
input: "$auditMessages",
as: "auditMessages",
cond: {
$and: [
{
$gt: ["$$auditMessages.timestamp", "2020-05-20T07:18:42.115Z"]
}
]
}
}
}
}
}
]);
И это результат, он работает:
{
_id: ObjectId"5ed638e566a699750cbb1b0f"),
time: [
{
eventCategory: "Audit",
objectType: "Audit Log",
eventAction: "Query",
status: "Initiated",
username: "Unknown",
userId: "Unknown",
timestamp: "2020-05-20T07:19:05.149Z",
eventDescription: "Querying without filters."
},
{
eventCategory: "Audit",
objectType: "Audit Log",
eventAction: "Query",
status: "Successful",
username: "Unknown",
userId: "Unknown",
timestamp: "2020-05-20T07:18:42.232Z",
eventDescription: "Querying without filters."
}
]
}
Теперь я хочу найти день, месяц и год, например, мне нужна такая метка времени: год: 2020 месяц: 05 день: 20 час: 07 минута: 18 и миллисекунда: 42
Спасибо за аванс.