2011-07-21 33 views
6

我能夠查詢值而不考慮大小寫,但我想不敏感地查詢關鍵字,因此用戶可以以全部小寫字母鍵入它們。MongoDB不區分大小寫的關鍵字搜索

這是不行的,因爲它不是有效的JSON:

{ 
    /^lastName$/i: "Jones" 
} 

是否有一個策略,我可以利用這一點,除了剛剛做密鑰的新的集合作爲值?

+0

誰是誰的?這是一個合理有效的問題。重置爲0 –

回答

5

目前沒有辦法做到這一點。

MongoDB是「無架構」但不應與混淆「沒有一個架構」。有一種隱含的假設,即您的代碼可以對實際出現在系統中的密鑰的名稱進行一些控制。

讓我們來回答這個問題。

  • 是否有很好的理由讓用戶插入區分大小寫的鍵?
  • 你可以在插入時將所有的鍵都變成小寫嗎?

同樣,MongoDB假定您有一些可用密鑰的知識。你的問題意味着你不知道可用的密鑰。你需要縮小這個差距。

+0

感謝這非常明確的答案。 – axiomx11

+0

「目前沒有辦法做到這一點。」 這個答案今天仍然有效嗎? –

+0

這可能總是如此。更改查詢以支持密鑰的範圍是一大堆工作。此外,它不能被索引,這是一個大問題。 –