映射(projection )聲明用來限制所有查詢匹配文檔的返回字段。projection以文檔的形式列舉結(jié)果集中要包含或者排除的字段??梢灾付ㄒ淖侄危ɡ纾海鹒ield:1})或者指定要排除的字段(例如:{field:0})。默認(rèn)_id是包含在結(jié)果集合中的,要從結(jié)果集中排除_id字段,需要在projection中指定排除_id字段({_id:0})。除了_id字段,不能在一個projection中聯(lián)合使用包含和排除語意。
返回匹配文檔的所有字段:
如果沒有指定projection,find()方法返回所有匹配文檔的所有字段。
復(fù)制代碼 代碼如下:
db.inventory.find( { type: 'food' } )
這個例子將返回inventory集合中type字段的值為"food"的所有文檔,返回的文檔包含全部字段。
返回指定字段和_id字段:
一個projection可以明確地指定多個字段。下面的操作中,find()方法返回匹配的所有文檔。在結(jié)果集中,只有item和qty字段,默認(rèn)_id字段也是返回的。
復(fù)制代碼 代碼如下:
db.inventory.find( { type: 'food' }, { item: 1, qty: 1 } )
僅返回指定字段:
可以通過在projection中指定排除_id字段將其從結(jié)果中去掉,如下例子所示:
復(fù)制代碼 代碼如下:
db.inventory.find( { type: 'food' }, { item: 1, qty: 1, _id:0 } )
返回除排除掉以外的字段:
可以使用一個projection排除一個或者一組字段,如下:
復(fù)制代碼 代碼如下:
db.inventory.find( { type: 'food' }, { type:0 } )
這個操作返回所有type字段值為food的文檔,在結(jié)果中type字段不返回。
數(shù)組字段的projection:
$elemMatch 和 $slice運(yùn)算符是對數(shù)組進(jìn)行projection的唯一途徑。
您可能感興趣的文章:- MongoDB中多表關(guān)聯(lián)查詢($lookup)的深入講解
- Mongodb實(shí)現(xiàn)的關(guān)聯(lián)表查詢功能【population方法】
- MongoDB各種查詢操作詳解
- PHP中MongoDB數(shù)據(jù)庫的連接、添加、修改、查詢、刪除等操作實(shí)例
- MongoDB下根據(jù)數(shù)組大小進(jìn)行查詢的方法
- MongoDB導(dǎo)出查詢結(jié)果到文件例子
- MongoDB如何對數(shù)組中的元素進(jìn)行查詢詳解
- MongoDB查詢技巧總結(jié)
- MongoDB查詢性能優(yōu)化驗(yàn)證及驗(yàn)證
- mongodb實(shí)現(xiàn)同庫聯(lián)表查詢方法示例
- MongoDB的基礎(chǔ)查詢和索引操作方法總結(jié)
- MongoDB多表關(guān)聯(lián)查詢操作實(shí)例詳解