3

spring を使用して MongoDB にクエリを実行しようとしていますが、正規表現を機能させることができません。

MongoDB ドキュメント (http://www.mongodb.org/display/DOCS/Trees+in+MongoDB) のように、マテリアライズド パスとして mongodb にツリーがあります。

シェルでクエリ

db.categories.find({path:/^\w+,$/})

最初のカンマの前にパスを見つけるのに問題なく動作します。

例: {"path" : "a,"} は返されますが、私が望む {"path: "a,b,"} は返されません。

春に同じクエリを作成するにはどうすればよいですか? 私はもう試した:

new Query(Criteria.where("path").regex("/^\\w+,$/"))

しかし、これは機能しません。

ありがとうございました

4

1 に答える 1

5

問題を解決しました。

query = new Query(Criteria.where("path").regex("^([A-Z]|[a-z])+,$"));

\ wは「任意の単語文字」を表し、通常は英数字を意味しますが、必要なのはアルファベット文字だけです。

後で[0-9]\_を投げて\wと同じにすることができます。

誰かが\wを機能させる方法を説明できれば、私は非常に感謝します:)

于 2012-10-05T22:28:43.843 に答える