2016-01-06 44 views
1
{ 
    "_id" : ObjectId("568b650543712795bf864a45") 
    "companyId" : "55e2d7cfdc8f74d14f5c900f", 
    "timeStamp" : ISODate("2014-12-02T18:30:00.000Z") 
    }, 
    { 
    "_id" : ObjectId("568b650543712795bf864a46") 
    "companyId" : "55e2d7cfdc8f74d14f5c900f", 
    "timeStamp" : ISODate("2014-12-03T18:30:00.000Z") 
}, 
    { 
    "_id" : ObjectId("568b650543712795bf864a47") 
    "companyId" : "55e2d7cfdc8f74d14f5c900f", 
    "timeStamp" : ISODate("2014-12-04T18:30:00.000Z") 
} 

從過去7周的timeStamp字段檢索所有文檔。如何查找mongodb中最近7周的所有星期一的文檔

回答

2

你必須使用mongodb聚合框架來實現這一點。

以您使用的任何編程語言查找開始日期(當前日期 - 7周)。 然後,你必須使用聚合操作$一週中的某天來實現這一


var pipeline = [ 
    { 
     $match: {timeStamp: {$gte: startDate}} 
    }, 
    { 
     $project: {dayOfWeek: {$dayOfWeek: '$timeStamp'}} 
    }, 
    { 
     $match: {dayOfWeek: 1} 
    } 
    ]; 
db.mycollection.aggreage(pipeline) 

在上面我已經預計只有一個字段,你可以做項目的更多領域。

欲瞭解更多信息,請點擊$dayOfWeek

相關問題