我在 MySql 中使用此格式在一个周和一个 mounth
中获取数据date > DATE_SUB( NOW(), INTERVAL 1 WEEK) // for one week
date > DATE_SUB( NOW(), INTERVAL 1 MONTH) // for one month
如何转换为php mongoDB
答案 0 :(得分:0)
据我所知,没有原生解决方案。假设你使用的是shell并且有这样的集合:
> db.foo.find({}, {_id: 0})
{ "date" : ISODate("2012-10-06T10:28:10.595Z") }
{ "date" : ISODate("2013-10-01T10:28:14.115Z") }
{ "date" : ISODate("2013-10-16T10:28:19.522Z") }
{ "date" : ISODate("2016-11-04T11:23:00.391Z") }
如果您想查找上周日期表格的所有文件,可以使用以下代码:
//Create new date
var weekBefore = new Date((new Date).setDate(new Date().getDate() - 7));
db.foo.find({date: {$gt: weekBefore, $lt: new Date}})
如果你想减去一个月你可以使用(取决于你的需要)下面的一个:
var monthBefore = new Date(new Date().setMonth(new Date().getMonth() - 1))
db.foo.find({date: {$lt: monthBefore}} )
或
var thirtyOneDaysBefore = new Date(
(new Date).setDate(new Date().getDate() - 31)
);
db.foo.find({date: {$lt: thirtyOneDaysBefore}})
使用驱动程序时,您必须使用语言本机日期时间类型执行此操作。