国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Mongodb-$strLenCP的使用

Jason_Geng / 498人閱讀

摘要:轉載之前在使用時,我們經常會使用到函數來返回文本字段中值的長度。這樣看來通過管道操作來實現會是不錯的選擇。

轉載:http://forum.foxera.com/mongo...
之前在使用SQL時,我們經常會使用到Len()函數來返回文本字段中值的長度。那Mongodb是否有這樣的操作呢,在version 3.4增加了此功能$strLenCP 如:有一個客戶購買商品信息集合orderdetail

{"_id": ObjectId("5821757bf28fbb3e3516eeaa"), "memid" : "f5869354", "orderno" : "s00023","productno":"20206539", "comment":"這個平底鍋太好用了,性價比高","telephone" :"18385669845"}
{"_id": ObjectId("5821776ff28fbb3e3516eeab"),  "memid" : "daisy", "orderno" : "s04567", "productno":"20225699","address":"comment","衣服穿起來很舒服好評" :"18855448645"}
{"_id": ObjectId("5821829ef28fbb3e3516eeac"),  "memid" : "lucy", "orderno" : "s08795", "productno":"20256339","address":"comment","還行" :"13869669585"}
{"_id": ObjectId("582182b0f28fbb3e3516eead"), "memid" : "c5633256", "orderno" :  "s45689","productno":"20285639","address":"comment","不好用,不建議買" :"13699869588"}

我們想統計客戶評論信息的長度,操作如下:

db.orderdetail.aggregate(
  [
    {
      $project: {
        "_id":0,
        "orderno": 1,
        "productno":1,
        "comlength": { $strLenCP: "$comment" }
      }
    }
  ]
)
{"orderno" : "s00023", "productno":"20206539", "comlength":14}
{"orderno" : "s04567", "productno":"20225699", "comlength":10}
{"orderno" : "s08795", "productno":"20256339", "comlength":2}
{"orderno" : "s45689", "productno":"20285639", "comlength":8}

這樣就可以得出長度,也可以通過這個length繼續后面的分析

比如說想看看評論長度大于10的商品

db.orderdetail.aggregate(
  [
    {
      $project: {
        "_id":0,
        "orderno": 1,
        "productno":1,
         "comlength": { $strLenCP: "$comment" }
      }
    },
     {
         $match:{comlength:{$gt:10}}
      }
  ]
)
{"orderno" : "s00023", "productno":"20206539", "comlength":14}

需要注意一點的是$strLenCP和$strLenBytes功能相近,但是在統計字符的時候有區別

$strLenByte會區分字符類型,比如:漢字會默認為3個字節,特殊字符如€為3個字節,λ為2個字節,é也為2個字節

當然想要實現上述功能,還可以通過$where來實現,但是多數情況下都避免使用$where查詢,比常規查詢慢很多,每個文檔都要從BSON轉換成JavaScript對象,然后通過$where表達式來運行,而且不能使用索引。這樣看來通過管道操作來實現會是不錯的選擇。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/19341.html

相關文章

  • (翻譯) MongoDB(11) 在 SUSE 上安裝MongoDB社區版

    摘要:概述使用這個教程在和使用軟件包安裝社區版雖然發行版包含自己的軟件包官方的社區版包通常是最新的平臺支持本安裝教程僅支持位操作系統詳細信息請參閱平臺支持軟件包在自己的存儲庫中提供官方支持軟件包此存儲庫包含以下軟件包軟件名簡介一個元軟件包將自動 概述 使用這個教程在 SUSE Linux 11 和 12 使用 .rpm 軟件包安裝 MongoDB 社區版. 雖然 SUSE 發行版包含自己的 ...

    zone 評論0 收藏0
  • (翻譯) MongoDB(17) 在 Windows 上安裝MongoDB社區版

    摘要:概述使用本教程在系統上安裝社區版平臺支持自版本開始不支持請使用更新版本的來使用更新版本的重要如果你正在運行任何版本的或者請安裝修復程序以解決上的內存映射文件的問題要求社區版需要或者更高版本安裝程序包含所有其它軟件依賴項將自動更新使用文件安裝 概述 使用本教程在 Windows 系統上安裝 MongoDB 社區版. 平臺支持: 自2.2版本開始, MongoDB 不支持 Windo...

    shaonbean 評論0 收藏0
  • (翻譯) MongoDB(12) 在 Amazon Linux 上安裝MongoDB社區版

    摘要:概述使用這個教程在使用軟件包安裝社區版本安裝教程僅支持位操作系統詳細信息請參閱平臺支持軟件包在自己的存儲庫中提供官方支持軟件包此存儲庫包含以下軟件包軟件名簡介一個元軟件包將自動安裝下面列出的四個組件包包含守護程序和關聯配置和初始化腳本 概述 使用這個教程在 Amazon Linux 使用 .rpm 軟件包安裝 MongoDB 社區版. 本安裝教程僅支持64位操作系統. 詳細信息請參閱平...

    gself 評論0 收藏0
  • (翻譯) MongoDB(14) 在 Debian 上安裝MongoDB社區版

    摘要:概述使用這個教程在或者使用軟件包安裝社區版雖然包含自己的軟件包但官方的社區版包通常是最新的本安裝教程僅支持位操作系統詳細信息請參閱平臺支持這些軟件包可以與其它版本一起工作。 概述 使用這個教程在 Debian 7 Wheezy 或者 Debian 8 Jessie 使用 .deb 軟件包安裝 MongoDB 社區版. 雖然 Debian 包含自己的 MongoDB 軟件包, 但官方的 ...

    gaara 評論0 收藏0
  • (翻譯) MongoDB(13) 在 Ubuntu 上安裝MongoDB社區版

    摘要:概述使用這個教程在使用軟件包安裝社區版包含自己的軟件包但官方的社區版包通常是最新的平臺支持本安裝教程僅提供位長期支持版本例如,等等這些軟件包可能將和其它版本一起工作然后它們并不支持軟件包在自己的存儲庫中提供官方支持軟件包此存儲庫包含以下軟件 概述 使用這個教程在 LTS Ubuntu Linux 使用 .deb 軟件包安裝 MongoDB 社區版. Ubuntu 包含自己的 Mong...

    wuyumin 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<