2015-08-24 57 views
1

MongoDB中需要選擇領域我可以使用僧使用下面的方法使用和尚

collection.find({}, 'Name Age -_id', function (e, docs) { 
    res.json(docs); 
}); 

這正常檢索MongoDB中唯一入選的領域,但是當我在增加一個選項,我面臨的問題查詢它拋出fn should be a function錯誤,因爲它預計第三參數是成功的回調函數

當我嘗試

collection.find({},{limit:5}, 'Name Age -_id', function (e, docs) { 
     res.json(docs); 
    }); 

我想我得到這個錯誤通過成功的功能,但仍然得到了同樣的錯誤

collection. find({} , { limit: 5 }, 'Name Age -_id').on('success', function (e, docs) { 
     res.json(docs); 
    }); 

回答

3
collection.find({ }, { limit : 5, fields : "Name Age -_id" }, function (err,data) { 
res.json(docs); 
}); 
+0

感謝西仁 學習和尚任何教程鏈接的建議? –

+0

是否可以選擇名稱年齡和_id並消除其餘的? –

+0

是否想要從數據庫中刪除其他字段? –

0

以防萬一有人想選擇字段包括_id,你可以嘗試以下解決方案

collection. find({},{ limit: 5 , fields : 'Name Age _id'}, function (e, docs) { 
     res.json(docs); 
    }); 

這將選擇和只返回姓名,年齡和_id字段

1

我寧願更清潔和更可讀的方式來做到這一點,

 query1={'userType':'mobile'}; //What to select 
     query2={limit : 2, fields : "name age _id"} //limit and fields to select 
     collection.find(query1,query2, 
     function(error,mobile_users){ 
      if(error) 
       response.send(error) 
      else{ 
       response.send(mobile_users); 
      } 
     }); 

希望它有助於