mgo指定字符串長度查找數據的案例分析?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
本篇文章給大家帶來的內容是關于mgo指定字符串長度查找數據的方法介紹(代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
工作中偶爾會根據字符串字段的長度來篩選一些數據,這時候可能會用到正則表達式,也可以用mongodb的$where,正則表達式在不同的語言中,正確寫法又有所差異,特此記錄一下。
假如查找comment字段字符串長度大于10的數據,mongodb命令行寫法如下:
$where寫法:
find({"comment":{"$exists":true},"$where":"this.comment.length>10"})
正則表達式寫法:
find({"comment":{"$regex":/^.{10,}$/}})
go語言中寫法如下:
$where寫法:
collection.Find(bson.M{"comment": bson.M{"$exists": true}, "$where": "this.comment.length > 10"})
正則表達式寫法:
collection.Find(bson.M{"comment": bson.M{"$exists": true, "$regex": bson.RegEx{`^.{10,}$`, ""}}})
其他條件正則:
^.{n,m}$ n <= 長度 <= m
^.{n}$ 長度 = n
這個長度是字符的長度,比如"正則表達式"長度就是5
至于查找性能方面,網上說正則比$where性能好,數據量不大的情況下簡單測試,確實是正則查找性能好一點,后面有時間進行深一步的研究看看
感謝各位的閱讀!看完上述內容,你們對mgo指定字符串長度查找數據的案例分析大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。