2011-07-21 9 views
6

Potrafię wyszukiwać wartości bez względu na przypadek, ale chciałbym bezbłędnie wyszukiwać klucze, aby użytkownicy mogli wpisywać je małymi literami.MongoDB nieuwzględnienie klucza wyszukiwania kluczowego

To nie działa, ponieważ nie jest ważne JSON:

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

Czy istnieje strategia mogłaby używać do tego, oprócz właśnie czyni nową kolekcję kluczy jako wartości?

+0

Kto to powiedział? Jest to właściwie uzasadnione pytanie. Resetowanie do 0 –

Odpowiedz

5

Obecnie nie ma sposobu, aby to zrobić.

MongoDB jest "schema-free" ale to nie powinno być mylone z "nie posiada schematu". Istnieje domyślne założenie, że twój kod ma pewną kontrolę nad nazwami kluczy, które faktycznie pojawiają się w systemie.

Odwróćmy pytanie.

  • Czy istnieje dobry powód, że użytkownicy wkładają klucze z rozróżnianiem wielkich i małych liter?
  • Czy możesz po prostu włożyć wszystkie klawisze do małej litery, gdy są włożone?

Ponownie, MongoDB zakłada, że ​​posiada wiedzę na temat dostępnych kluczy. Twoje pytanie oznacza, że ​​nie masz wiedzy o dostępnych kluczach. Musisz zamknąć tę lukę.

+0

Dziękuję za tę bardzo jasną odpowiedź. – axiomx11

+0

"Obecnie nie ma sposobu, aby to zrobić." Czy ta odpowiedź jest nadal ważna dzisiaj? –

+0

Prawdopodobnie tak będzie zawsze. Zmieniaj zapytania na zakresy pomocy na kluczu, to mnóstwo pracy. Ponadto nie można go indeksować, co jest bardzo ważne. –

Powiązane problemy