1. 程式人生 > >MongoDB 查詢時返回指定的欄位

MongoDB 查詢時返回指定的欄位

對像我一樣的新手來說,想要只查詢某(幾個)欄位,一些教程說的不是很詳細。
首先我們看一下mongoDB 查詢時用的find方法:

db.collection.find(query, projection)

其中:
   query :可選,使用查詢操作符指定查詢條件
   projection :可選,使用投影操作符指定返回的鍵。查詢時返回文件中所有鍵值, 只需省略該引數即可(預設省略)。

既然這樣我們就可以通過projection 引數來進行過濾想要得到的欄位,使用也很簡單:
   在第二個引數中,指定鍵名且值為1或者true則是查詢結果中顯示的鍵;若值為0或者false,則為不顯示鍵。文件中的鍵若在引數中沒有指定,查詢結果中將不會顯示(_id例外)。_id是預設顯示的,除非進行手動設定為0或者false則不顯示。
Example:

//在HouseInfoWrapper集合(表)中查詢isPush欄位=0 的文件(行),只顯示hotelId欄位(列)。
db.getCollection('HouseInfoWrapper').find({'isPush':0},{'hotelId':1,'_id':0})

//在HouseInfoWrapper集合(表)中查詢isPush欄位=0 的文件(行),顯示hotelId欄位(列)和 _id欄位(不手動設定false就預設顯示),其他欄位不手動設定為TRUE則不會顯示。
db.getCollection('HouseInfoWrapper').find({'isPush':0},{'hotelId'
:1})

至於and、or等查詢網上很多,不再贅述。