#node.js #mongodb #mongoose
#node.js #mongodb #мангуст
Вопрос:
Я хочу отфильтровать значения из коллекций с диапазоном в 2 даты:
const filterPattern = {
createdAt: {
'amp;gte': 2020-10-09T14:18:07.240Z,
'amp;lte': 2020-12-09T14:26:49.544Z
}
};
CollectionName.find(filterPattern);
Но выдает ошибку:
CastError: Cast to date failed for value "{ 'amp;gte': 2020-10-09T, 'amp;lte': 2020-12-09T14:26:49.544Z }" at path "createdAt" for...
Оба значения ‘amp;gte’ и ‘amp; lte’, которые я создал с помощью new Date(), и они возвращают true после instanceof Date .
Что там не так?
Ответ №1:
Вы должны использовать $
вместо amp;
и установить соответствующие значения:
const filterPattern = {
createdAt: {
$gte: "2020-10-09T14:18:07.240Z",
$lte: "2020-12-09T14:26:49.544Z"
}
};