2012-10-25 123 views
7

我有一個帶有Mongoose ODM的NodeJS應用程序。 我想從集合中選擇三個特定的字段。 我的收藏示例爲「用戶」字段爲'_id','用戶名','電子郵件','用戶類型','密碼'... 我只想選擇'用戶名','電子郵件'&'usertype'。 這是我的代碼在MongooseJs中選擇特定字段

var query = models.User.find({}).select('UserName', 'Email', 'UserType'); 

這是工作的罰款與貓鼬2版本,我更新到MongoDB的2.2和3.3.1貓鼬。 現在我得到錯誤

500 TypeError: Invalid select() argument. Must be a string or object. 

任何人都可以請提出一個解決辦法?

回答

13

由於貓鼬3 select()參數可以是:

  • 需要被排除的字段前
  • 字段名(與-的空間分隔的字符串含有0-1地圖中排除/包含的字段的一個目的)

所以你要麼使用:

var query = models.User.find({}).select('UserName Email UserType'); 

var query = models.User.find({}).select({UserName : 1, Email : 1, UserType: 1}); 
+0

謝謝!這兩個代碼運作良好。 – dany

10

由於貓鼬版本4,你不需要選擇()。

var query = models.User.find({}, 'UserName Email UserType'); 
相關問題