2015-11-03 81 views
0

我用兩種方式來從我收集的文件,第一個:

db.comments.find({"nid" : "req.body.data"}); 

返回許多文檔,如:

{ 
    "nid" : 20404, 
    "_id" : ObjectId("5638ba331294943d3d0a092b"), 
    "uid" : 1937, 
    "posted" : ISODate("2015-11-03T13:44:19.811Z"), 
    "text" : "txt", 
    "title" : "Test nid 2", 
    "stars" : 3, 
    "__v" : 0 
} 

, 而對於另一個查詢我需要使用aggregate和查詢:

var pipleline = [ 
      {$match: {nid:req.body.data}} 

     ]; 
     Comments.aggregate(pipleline, function(err, rank){ 
       if(err) { 
        res.send("Error", String(err)); 
       } 
       res.send(rank); 
      }); 

返回[] - 空數組。 任何想法?

+2

'req.body.data'的價值是什麼? – chridam

+0

數字,與解析有關嗎? –

+0

當你檢索'req.body.data'時,你需要讓你有一個值。使用'console.log'來確保有一個實際的'nid'被保存。 – inspired

回答

0

你可以使用內置函數鏈接貓鼬提供。除了比賽之外,它還有排序,項目,小組以及其他一些我不知道的事情。更多信息here

 Comments.aggregate().match({nid:req.body.data}) 
     .exec(function(err,rank){ 
      if(err) { 
       res.send("Error", String(err)); 
      } 
      res.send(rank); 
     });