Когда я выполняю следующий запрос в монго, он работает нормально:
db.getCollection('patients').aggregate({
"$match": {
"demographics.dob": new Date("2018-01-17T00:00:00.000Z")
}
})
Но когда я удаляю new Date () , он не работает.
db.getCollection('patients').aggregate({
"$match": {
"demographics.dob": "2018-01-17T00:00:00.000Z"
}
})
Теперь, почему я хочу удалить это, потому что, когда я пытаюсь отправить дату из экспресс-js, она идет в строковом формате, следующий мой код:
filter["demographics.dob"] = new Date(filter["demographics.dob"]).toISOString();
Я знаю, что вагрегат, приведение типов не выполняется внутренне, поэтому, пожалуйста, предложите мне способ сделать это другим способом:)
Ниже приведен результат журнала отладки mongoose:
patients.aggregate([
{
"$project": {
"demographics.legalFirstName": "$demographics.legalFirstName",
"demographics.lastName": "$demographics.lastName",
"updatedAt": "$updatedAt",
"_id": 1
}
},
{
"$match": {
"$and": [
{
"demographics.dob": "2018-01-17T00:00:00.000Z"
}
]
}
},
{
"$sort": {
"updatedAt": -1
}
},
{
"$skip": 0
},
{
"$limit": 2
}
],
, {}
)