真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Ruby操作MongoDB(進階四)-投影Projection-創(chuàng)新互聯(lián)

  通過前面的學習認知,我們了解了如何創(chuàng)建數(shù)據(jù)庫連接,如果使用指令進行CRUD操作,以及如何定義集合Collection。本章我們繼續(xù)學習數(shù)據(jù)庫的投影操作Projection.

創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、龍華網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5響應式網(wǎng)站、電子商務商城網(wǎng)站建設、集團公司官網(wǎng)建設、外貿(mào)營銷網(wǎng)站建設、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為龍華等各大城市提供網(wǎng)站開發(fā)制作服務。

  通常情況下,在MongoDB數(shù)據(jù)庫中進行查詢操作會返回所有的匹配文檔。為了限制MongoDB返回給應用的數(shù)據(jù)大小,我們可以在查詢操作中包含投影文檔。

  1. 投影文檔

  投影文檔中限制了所有匹配文檔的返回字段。投影文檔可以設置返回結(jié)果中需要包含哪些字段需要剔除哪些字段。投影文檔的使用格式如下:

  {'projection':{field1:,field2:...}}。value字段的取值為0 或者false時,表示要在返回結(jié)果中去除該字段;如果value字段取值為1或者true,表示在返回結(jié)果中需要包含這個字段。除了特殊的_id字段,我們不可以在統(tǒng)一文檔中既有包含參數(shù)inclusions又有去除參數(shù)exclusions,也就是projection中要么出現(xiàn)的全是要包含的字段,要么出現(xiàn)的全是要去除的字段,但是_id字段設置除外。

下面列舉了上述的同時出現(xiàn)包含屬性和去除屬性的示例,_id屬性的特殊性也在其中體現(xiàn)。第一種寫法是不允許的,第二種寫法是允許的。

{'projection'=>{'name'=>1,'location'=>0}}  不允許

{'projection'=>{'name'=>1,'_id'=>0}}     允許

1.2 代碼實例

  下面的代碼實例使用companies樣本數(shù)據(jù)

  為了返回所有滿足查詢條件的匹配文檔companies中的name,location和_id字段,我們需要明確指出結(jié)果中包含name和loaction,如果沒有明確描述出要去除_id字段,_id字段會被自動包含在返回結(jié)果中。

  client=Mongo::Client.new(['127.0.0.1:27017'],:database=>'test')

  collection=client[:companies]

  collection.find({},{'projection'=>{'name'=>1,'location'>1}}).limit(5).each do |doc|

   p doc

  end

  為了實現(xiàn)只返回name和location字段,排除包含_id在內(nèi)的其他字段,使用下面的形式,明確指出需要排除_id字段。

  {'projection'=>{'name'=>1,'location'=>1,'_id'=>0}}

  如果想要返回除了location字段的其他所有字段,使用下面的指令

  {'projection'=>{'location'=>0}}

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


網(wǎng)頁標題:Ruby操作MongoDB(進階四)-投影Projection-創(chuàng)新互聯(lián)
瀏覽地址:http://weahome.cn/article/dodpjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部