2013-10-06 152 views
1

使用这种格式的MySql在一个一周获得的数据和一个芒斯转换从MySQL日期查询到MongoDB的日期查询

date > DATE_SUB(NOW(), INTERVAL 1 WEEK) // for one week 

date > DATE_SUB(NOW(), INTERVAL 1 MONTH) // for one month 

如何转换到PHP MongoDB的

+0

请提供您的尝试和您的代码有问题。关于日期范围的计算器有很多问题。 – WiredPrairie

回答

0

据我所知,没有本地解决方案。假设你使用的外壳,并有收集这样的:如果你想找到与上周最新形式的所有文档,你可以使用此代码

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

你可以使用(取决于您neeeds)以下之一:

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

使用驱动程序时,您必须使用语言本地日期时间类型执行此操作。