2013-07-26 46 views
3

骨料的要求,我想檢索來自最古老的文檔當前值的列表signed.But我沒有選擇absed在date.Thanks按日期排序與MongoDB中

這裏是一個文檔JSON:

"ad" : "noc3", 
    "createdDate" : ISODate(), 
    "list" : [ 
      { 
        "id" : "p45", 
        "value" : 21, 

      }, 
      { 
        "id" : "p6", 
        "value" : 20,    
      }, 
      { 
        "id" : "4578",  
        "value" : 319 
      } 
    ] 

,在這裏我總的要求:

db.friends.aggregate({$match:{advertiser:"noc3", {$sort:{timestamps:-1},{$limit:1} }},{$unwind:"$list"},{$project:{_id: "$list.id", value:{$add:[0]}}}); 

回答

7

您彙總查詢不正確。你添加排序和限制的比賽,但現在你是如何做到這一點。您可以使用不同的管道運營商:

db.friends.aggregate([ 
    { $match: { advertiser: "noc3" } }, 
    { $sort: { createdDate: -1 } }, 
    { $limit: 1 }, 

您的其他管道運營商都有點怪過了,你的代碼VS查詢的不匹配上timestamps VS createdDate。如果添加預期的輸出,我可以更新答案以包含查詢的最後幾位。