我想从2个日期范围的集合中筛选值:
const filterPattern = {
createdAt: {
'>e': 2020-10-09T14:18:07.240Z,
'<e': 2020-12-09T14:26:49.544Z
}
};
CollectionName.find(filterPattern);
但是得到一个错误:
CastError: Cast to date failed for value "{ '>e': 2020-10-09T, '<e': 2020-12-09T14:26:49.544Z }" at path "createdAt" for...
两个值'>e'和'<e'我已经由创建了new Date((,它们在instanceof Date之后返回true。
怎么了?
您必须使用$
而不是&
,并相应地设置值:
const filterPattern = {
createdAt: {
$gte: "2020-10-09T14:18:07.240Z",
$lte: "2020-12-09T14:26:49.544Z"
}
};