У меня есть массив в моей модели данных. Я пытаюсь запросить дату из массива, используя gte
и lt
. Если у меня есть две даты как одна и та же дата, она возвращает только одни данные. Пожалуйста, помогите мне.
getDataByDate = (req, res) => {
var start = moment(req.params.date).startOf('day').format();
var end = moment(req.params.date).endOf('day').format();
this._model.find({
_id: obj._id
},
{
addtional_info: {
$elemMatch: {
date: {
$gte: start, $lt: end
}
}
}
},
function (err, results) {
if (err) {
throw err;
};
console.log(results[0].addtional_info)
});
}
Модель
_id: 5e672d75c5b73b14f4192342,
name: "xyx",
age: 19,
addtional_info:[{
date: 2020-03-08T06:02:51.306Z,
encrypted_data:"3d32fsawdw",
version:"0.0.1"
},
{
date: 2020-03-09T02:02:51.306Z,
encrypted_data:"3d3234awdw",
version:"0.0.1"
},
{
date: 2020-03-09T08:02:51.306Z,
encrypted_data:"3df4f3dw",
version:"0.0.1"
}]
Ожидаемая O / P Если моя дата 2020-03-09
[{
date: 2020-03-09T02:02:51.306Z,
encrypted_data:"3d3234awdw",
version:"0.0.1"
},
{
date: 2020-03-09T08:02:51.306Z,
encrypted_data:"3df4f3dw",
version:"0.0.1"
}]
Фактический O / P
[{
date: 2020-03-09T02:02:51.306Z,
encrypted_data:"3d3234awdw",
version:"0.0.1"
}}