这是我的示例文档:
filterOption = (option, inputValue) => {
if (option.label === "Other") {
const { options } = this.state;
const result = options.filter(opt => opt.label.includes(inputValue));
this.setState({ hasExtraValue: !result.length });
return !result.length;
}
return option.label.includes(inputValue);
};
我想查询给定日期之间的文档。在“ 26-05-2019”和“ 01-06-2019”之间说。
以下是我尝试过的查询:
{
"timestamp" : "1558341279777",
"date" : "20-05-2019",
"hour" : "14",
"month" : "5",
"time" : "14:4:39",
"weekDay" : "Monday"
}
上述查询的问题在于它会进行字符串比较,当我们查询日期时,它并不总是返回正确的结果。有没有一种干净的方法可以做到这一点?
答案 0 :(得分:0)
请尝试以下操作:
db.collection.find({
"$expr": {
"$and": [
{
"$gte": [
{ "$dateFromString": { "dateString": "$date, "format": "%m-%d-%Y" }},
ISODate("2019-05-26T00:00:00Z")
]
},
{
"$lte": [
{ "$dateFromString": { "dateString": "$date", "format": "%m-%d-%Y" }},
ISODate("2019-06-15T23:59:59Z")
]
}
]
}
})