sql >> データベース >  >> NoSQL >> MongoDB

MongoDB正規表現マッチングの問題

    問題は部分一致にあります。単語全体の正規表現を制限していないため、a:b:cに存在する部分一致です。 つまり、a:b その結果、そのドキュメントを取得できます。

    ^$で次の正規表現を使用します 単語の始まりと終わりを表すアンカーです。

    db.foo.find({path: /^a:[^:]+$/})
    db.foo.find({path: /^a:[a-z]+$/})
    

    これにより、正規表現が文字列全体に適用され、上記で説明したように部分一致が無視されます。正規表現アンカーの詳細については、ここをクリック してください。 。

    したがって、要約すると、バグはなく、正規表現の誤用だけです。




    1. マングース-列挙値に基づく集約$match

    2. データベースとしてのNoSQL(MongoDB)とLucene(またはSolr)

    3. エラー[ERR_HTTP_HEADERS_SENT]クライアントに送信された後にヘッダーを設定できません

    4. リアルタイムで追加されるRedisからオブジェクトをポップするにはどうすればよいですか?