亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MongoDB:是否可以進行不區分大小寫的查詢?

MongoDB:是否可以進行不區分大小寫的查詢?

慕桂英4014372 2019-06-24 16:20:25
MongoDB:是否可以進行不區分大小寫的查詢?例子:> db.stuff.save({"foo":"bar"});> db.stuff.find({"foo":"bar"}).count();1> db.stuff.find({"foo":"BAR"}).count();0
查看完整描述

3 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

最新情況:

原來的答案現在已經過時了。MongoDB現在支持高級全文搜索,具有許多特性。

原文:

應該指出,使用regex的大小寫不敏感/i進行搜索意味著MongoDB不能按索引進行搜索,因此對大型數據集的查詢可能需要很長時間。

即使使用較小的數據集,它也不是很有效。您的CPU命中率比您的查詢授權要大得多,如果您想實現規模,這可能會成為一個問題。

作為另一種選擇,您可以存儲大寫副本并對其進行搜索。例如,我有一個用戶表,它的用戶名是混合大小寫,但是id是用戶名的大寫副本。這確保了區分大小寫的復制是不可能的(不允許使用“foo”和“foo”),我可以通過id=username.toUpperCase()進行搜索,以獲得不區分大小寫的用戶名搜索。

如果您的字段很大,例如消息體,那么復制數據可能不是一個好的選擇。我相信在這種情況下,使用像ApacheLucene這樣的無關索引器是最好的選擇。


查看完整回答
反對 回復 2019-06-24
  • 3 回答
  • 0 關注
  • 3010 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號