MongoDB查詢操作限制返回字段的方法
更新時間:2014年05月03日 09:27:39 作者:
這篇文章主要介紹了MongoDB查詢操作限制返回字段的方法,需要的朋友可以參考下
映射(projection )聲明用來限制所有查詢匹配文檔的返回字段。projection以文檔的形式列舉結果集中要包含或者排除的字段??梢灾付ㄒ淖侄危ɡ纾海鹒ield:1})或者指定要排除的字段(例如:{field:0})。默認_id是包含在結果集合中的,要從結果集中排除_id字段,需要在projection中指定排除_id字段({_id:0})。除了_id字段,不能在一個projection中聯合使用包含和排除語意。
返回匹配文檔的所有字段:
如果沒有指定projection,find()方法返回所有匹配文檔的所有字段。
這個例子將返回inventory集合中type字段的值為"food"的所有文檔,返回的文檔包含全部字段。
返回指定字段和_id字段:
一個projection可以明確地指定多個字段。下面的操作中,find()方法返回匹配的所有文檔。在結果集中,只有item和qty字段,默認_id字段也是返回的。
僅返回指定字段:
可以通過在projection中指定排除_id字段將其從結果中去掉,如下例子所示:
返回除排除掉以外的字段:
可以使用一個projection排除一個或者一組字段,如下:
這個操作返回所有type字段值為food的文檔,在結果中type字段不返回。
數組字段的projection:
$elemMatch 和 $slice運算符是對數組進行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的唯一途徑。
相關文章
解決net start MongoDB 報錯之服務名無效的問題
這篇文章主要介紹了解決net start MongoDB 報錯之服務名無效的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12Ubuntu環(huán)境下mongodb安裝配置詳細步驟
大家好,本篇文章主要講的是Ubuntu環(huán)境下mongodb安裝配置詳細步驟,感興趣的同學快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-11-11修復 Mac brew 安裝 mongodb 報 Error: No available formula with th
最近在同事新的 Mac 電腦上安裝 mongodb,報了錯誤 Error: No available formula with the name ‘mongodb’,今天就說說這個問題如何解決,需要的朋友可以參考下2020-02-02express使用Mongoose連接MongoDB操作示例【附源碼下載】
這篇文章主要介紹了express使用Mongoose連接MongoDB操作,結合實例形式分析了express使用Mongoose連接MongoDB的具體步驟與相關實現技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下2019-07-07