程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MongoDB數據庫 >> MongoDB綜合知識 >> MongoDB查詢操作限制返回字段的方法

MongoDB查詢操作限制返回字段的方法

編輯:MongoDB綜合知識
映射(projection )聲明用來限制所有查詢匹配文檔的返回字段。projection以文檔的形式列舉結果集中要包含或者排除的字段。可以指定要包含的字段(例如:{field:1})或者指定要排除的字段(例如:{field:0})。默認_id是包含在結果集合中的,要從結果集中排除_id字段,需要在projection中指定排除_id字段({_id:0})。除了_id字段,不能在一個projection中聯合使用包含和排除語意。

返回匹配文檔的所有字段:

如果沒有指定projection,find()方法返回所有匹配文檔的所有字段。
復制代碼 代碼如下:db.inventory.find( { type: 'food' } )
這個例子將返回inventory集合中type字段的值為"food"的所有文檔,返回的文檔包含全部字段。

返回指定字段和_id字段:

一個projection可以明確地指定多個字段。下面的操作中,find()方法返回匹配的所有文檔。在結果集中,只有item和qty字段,默認_id字段也是返回的。
復制代碼 代碼如下:db.inventory.find( { type: 'food' }, { item: 1, qty: 1 } )

僅返回指定字段:
可以通過在projection中指定排除_id字段將其從結果中去掉,如下例子所示:
復制代碼 代碼如下:db.inventory.find( { type: 'food' }, { item: 1, qty: 1, _id:0 } )

返回除排除掉以外的字段:
可以使用一個projection排除一個或者一組字段,如下:
復制代碼 代碼如下:db.inventory.find( { type: 'food' }, { type:0 } )
這個操作返回所有type字段值為food的文檔,在結果中type字段不返回。

數組字段的projection:
 $elemMatch 和 $slice運算符是對數組進行projection的唯一途徑。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved