2017-07-21 9 views
0

私のクエリは次のセレクタを持っている照会私はseries = mario12で文書を持っている場合は、はcloudant用ケースの鈍感さを実現

{ 
    "selector": { 
    "_id": { 
     "$gt": null 
    }, 
    "series": { 
     "$regex": "(?i)mario" 
    } 
    } 
} 

は今、上記のクエリは起こるべきではありません。この文書を返しています。私は "mario"の場合だけを無視するようにしたい。

どのように大文字小文字を区別しないのですか?

+0

あなたの正規表現は、あなたが意図したより広い範囲で一致します。大文字と小文字は区別されません。 markwatsonatxが示唆するように、文字列の先頭と最後にアンカー。 – xpqz

答えて

2

私は質問を正確に理解していません。あなたが唯一の大文字と小文字を区別しないようにし、完全な単語「マリオ」を一致させたいなら、あなたはこのように、セレクタを使用します。

{ 
    "selector": { 
    "_id": { 
     "$gt": null 
    }, 
    "series": { 
     "$regex": "^(?i)mario$" 
    } 
    } 
} 

これはなど、「マリオ」、「マリオ」、「MARIO」にマッチします"mario12"、 "Mario12"、 "12Mario"などには一致しません。

+0

パーフェクト、それは今働いています。ありがとうございました – swa

関連する問題