3

名前の一部が含まれているフィールドをクエリするために、CasbahとSalatを使用してクエリを作成しようとしています。私はこのような正規表現を使用しようとしました(SalatDAO内):

val regexp = (""".*"""+serverName+""".*""").r
val query = "serverName" -> regexp
val result = find(MongoDBObject(query))

val regexp = ".*"+serverName+".*"

レコードはMongoDBにあり、完全な名前で検索すると機能します。

文字列の一部を検索するようにcasbahに指示する正しい方法はどのようになっていますか?

私が修正したいもう1つのことは、パラメーターの文字列連結です。casbahを使用して入力パラメーターをエスケープするデフォルトの方法はありますか?そのため、パラメーターはjavascriptコマンドとして解釈されませんか?

よろしく、オリバー

4

1 に答える 1

1

mongodbシェルでは、サーバー名に特定の文字列が含まれていることがわかります。

db.collection.find({serverName:/whatever/i})

私はcasbahの経験がありません、私はそれがこのようでなければならないと信じています。テストしてください

val regexp = ("""/"""+serverName+"""/i""").r  
find(MongoDBObject("serverName" -> regexp))
于 2012-01-13T09:45:51.897 に答える