Mongoose-为什么铸造日期失败



我想从2个日期范围的集合中筛选值:

const filterPattern = {
createdAt: {
'&gte': 2020-10-09T14:18:07.240Z,
'&lte': 2020-12-09T14:26:49.544Z
}
};
CollectionName.find(filterPattern);

但是得到一个错误:

CastError: Cast to date failed for value "{ '&gte': 2020-10-09T, '&lte': 2020-12-09T14:26:49.544Z }" at path "createdAt" for...

两个值'&gte''&lte'我已经由创建了new Date((,它们在instanceof Date之后返回true

怎么了?

您必须使用$而不是&,并相应地设置值:

const filterPattern = {
createdAt: {
$gte: "2020-10-09T14:18:07.240Z",
$lte: "2020-12-09T14:26:49.544Z"
}
};

最新更新