在MongoDB中搜索两个日期之间的条目

时间:2017-01-05 11:01:45

标签: mongodb date mongodb-query datetime-format

我有一个集合"received",其中的文档包含一个包含年份和周详细信息的嵌入式文件。例如:

"YearANDWeek" : {
    "Year" : 1908,
    "Week" : 6
}

如果我想在1956年到第23周到2000年和第40周之间获取数据,我需要使用哪些查询?我可以使用$gte$lt,但几周之间会有冲突。

2 个答案:

答案 0 :(得分:0)

我这可以试试这个

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)"})

答案 1 :(得分:0)

我会使用以下查询。

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))"});
相关问题