摘要:轉(zhuǎn)載之前在使用時(shí),我們經(jīng)常會(huì)使用到函數(shù)來返回文本字段中值的長度。這樣看來通過管道操作來實(shí)現(xiàn)會(huì)是不錯(cuò)的選擇。
轉(zhuǎn)載:http://forum.foxera.com/mongo...
之前在使用SQL時(shí),我們經(jīng)常會(huì)使用到Len()函數(shù)來返回文本字段中值的長度。那Mongodb是否有這樣的操作呢,在version 3.4增加了此功能$strLenCP 如:有一個(gè)客戶購買商品信息集合orderdetail
{"_id": ObjectId("5821757bf28fbb3e3516eeaa"), "memid" : "f5869354", "orderno" : "s00023","productno":"20206539", "comment":"這個(gè)平底鍋太好用了,性價(jià)比高","telephone" :"18385669845"} {"_id": ObjectId("5821776ff28fbb3e3516eeab"), "memid" : "daisy", "orderno" : "s04567", "productno":"20225699","address":"comment","衣服穿起來很舒服好評(píng)" :"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"}
我們想統(tǒng)計(jì)客戶評(píng)論信息的長度,操作如下:
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}
這樣就可以得出長度,也可以通過這個(gè)length繼續(xù)后面的分析
比如說想看看評(píng)論長度大于10的商品
db.orderdetail.aggregate( [ { $project: { "_id":0, "orderno": 1, "productno":1, "comlength": { $strLenCP: "$comment" } } }, { $match:{comlength:{$gt:10}} } ] ) {"orderno" : "s00023", "productno":"20206539", "comlength":14}
需要注意一點(diǎn)的是$strLenCP和$strLenBytes功能相近,但是在統(tǒng)計(jì)字符的時(shí)候有區(qū)別
$strLenByte會(huì)區(qū)分字符類型,比如:漢字會(huì)默認(rèn)為3個(gè)字節(jié),特殊字符如€為3個(gè)字節(jié),λ為2個(gè)字節(jié),é也為2個(gè)字節(jié)
當(dāng)然想要實(shí)現(xiàn)上述功能,還可以通過$where來實(shí)現(xiàn),但是多數(shù)情況下都避免使用$where查詢,比常規(guī)查詢慢很多,每個(gè)文檔都要從BSON轉(zhuǎn)換成JavaScript對(duì)象,然后通過$where表達(dá)式來運(yùn)行,而且不能使用索引。這樣看來通過管道操作來實(shí)現(xiàn)會(huì)是不錯(cuò)的選擇。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/19341.html
摘要:概述使用這個(gè)教程在和使用軟件包安裝社區(qū)版雖然發(fā)行版包含自己的軟件包官方的社區(qū)版包通常是最新的平臺(tái)支持本安裝教程僅支持位操作系統(tǒng)詳細(xì)信息請(qǐng)參閱平臺(tái)支持軟件包在自己的存儲(chǔ)庫中提供官方支持軟件包此存儲(chǔ)庫包含以下軟件包軟件名簡(jiǎn)介一個(gè)元軟件包將自動(dòng) 概述 使用這個(gè)教程在 SUSE Linux 11 和 12 使用 .rpm 軟件包安裝 MongoDB 社區(qū)版. 雖然 SUSE 發(fā)行版包含自己的 ...
摘要:概述使用本教程在系統(tǒng)上安裝社區(qū)版平臺(tái)支持自版本開始不支持請(qǐng)使用更新版本的來使用更新版本的重要如果你正在運(yùn)行任何版本的或者請(qǐng)安裝修復(fù)程序以解決上的內(nèi)存映射文件的問題要求社區(qū)版需要或者更高版本安裝程序包含所有其它軟件依賴項(xiàng)將自動(dòng)更新使用文件安裝 概述 使用本教程在 Windows 系統(tǒng)上安裝 MongoDB 社區(qū)版. 平臺(tái)支持: 自2.2版本開始, MongoDB 不支持 Windo...
摘要:概述使用這個(gè)教程在使用軟件包安裝社區(qū)版本安裝教程僅支持位操作系統(tǒng)詳細(xì)信息請(qǐng)參閱平臺(tái)支持軟件包在自己的存儲(chǔ)庫中提供官方支持軟件包此存儲(chǔ)庫包含以下軟件包軟件名簡(jiǎn)介一個(gè)元軟件包將自動(dòng)安裝下面列出的四個(gè)組件包包含守護(hù)程序和關(guān)聯(lián)配置和初始化腳本 概述 使用這個(gè)教程在 Amazon Linux 使用 .rpm 軟件包安裝 MongoDB 社區(qū)版. 本安裝教程僅支持64位操作系統(tǒng). 詳細(xì)信息請(qǐng)參閱平...
摘要:概述使用這個(gè)教程在或者使用軟件包安裝社區(qū)版雖然包含自己的軟件包但官方的社區(qū)版包通常是最新的本安裝教程僅支持位操作系統(tǒng)詳細(xì)信息請(qǐng)參閱平臺(tái)支持這些軟件包可以與其它版本一起工作。 概述 使用這個(gè)教程在 Debian 7 Wheezy 或者 Debian 8 Jessie 使用 .deb 軟件包安裝 MongoDB 社區(qū)版. 雖然 Debian 包含自己的 MongoDB 軟件包, 但官方的 ...
摘要:概述使用這個(gè)教程在使用軟件包安裝社區(qū)版包含自己的軟件包但官方的社區(qū)版包通常是最新的平臺(tái)支持本安裝教程僅提供位長期支持版本例如,等等這些軟件包可能將和其它版本一起工作然后它們并不支持軟件包在自己的存儲(chǔ)庫中提供官方支持軟件包此存儲(chǔ)庫包含以下軟件 概述 使用這個(gè)教程在 LTS Ubuntu Linux 使用 .deb 軟件包安裝 MongoDB 社區(qū)版. Ubuntu 包含自己的 Mong...
閱讀 3145·2021-11-19 09:40
閱讀 2443·2021-10-14 09:42
閱讀 1720·2021-09-22 15:34
閱讀 1456·2019-08-30 15:55
閱讀 790·2019-08-29 12:59
閱讀 422·2019-08-28 18:28
閱讀 1831·2019-08-26 13:42
閱讀 1535·2019-08-26 13:29