搜索 MongoDB 中两个日期之间的条目
Searching for entries between two dates in MongoDB
我有一个集合 "received"
,其中的文档包含一个包含年和周详细信息的嵌入式文件。例如:
"YearANDWeek" : {
"Year" : 1908,
"Week" : 6
}
如果我想获取 1956 年第 23 周到 2000 年第 40 周之间的数据,我需要使用什么查询?我可以使用 $gte
和 $lt
但周之间存在冲突。
我这个你可以试试这个
db.recieved.find({$where:"((this.YearANDWeek.Year >= 1956 && this.YearANDWeek.Week >= 6) || (this.YearANDWeek.Year < 2000 && this.YearANDWeek.Year > 2000 && this.YearANDWeek.Week < 40)) && (this.YearANDWeek.Year >= 1956 && this.YearANDWeek.Year < 2000)"})
我会使用以下查询。
db.received.find({$where:"((this.YearANDWeek.Year > 1956 && this.YearANDWeek.Year < 2000) || (this.YearANDWeek.Year == 1956 && this.YearANDWeek.Week >= 23) || (this.YearANDWeek.Year == 2000 && this.YearANDWeek.Week <= 40))"});
我有一个集合 "received"
,其中的文档包含一个包含年和周详细信息的嵌入式文件。例如:
"YearANDWeek" : {
"Year" : 1908,
"Week" : 6
}
如果我想获取 1956 年第 23 周到 2000 年第 40 周之间的数据,我需要使用什么查询?我可以使用 $gte
和 $lt
但周之间存在冲突。
我这个你可以试试这个
db.recieved.find({$where:"((this.YearANDWeek.Year >= 1956 && this.YearANDWeek.Week >= 6) || (this.YearANDWeek.Year < 2000 && this.YearANDWeek.Year > 2000 && this.YearANDWeek.Week < 40)) && (this.YearANDWeek.Year >= 1956 && this.YearANDWeek.Year < 2000)"})
我会使用以下查询。
db.received.find({$where:"((this.YearANDWeek.Year > 1956 && this.YearANDWeek.Year < 2000) || (this.YearANDWeek.Year == 1956 && this.YearANDWeek.Week >= 23) || (this.YearANDWeek.Year == 2000 && this.YearANDWeek.Week <= 40))"});