Casbah/Salat:文字列の一部が含まれているフィールドを照会する方法は?

StackOverflow https://stackoverflow.com/questions/8848106

  •  27-10-2019
  •  | 
  •  

質問

名前の一部が含まれているフィールドを照会するために、カスバとサラトとクエリを書いています。私はこのような正規表現を使用しようとしました(サラトダオ内):

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

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

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

カスバに文字列の一部を検索するように指示する正しい方法はどうですか?

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

よろしく、オリバー

役に立ちましたか?

解決

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

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

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

val regexp = ("""/"""+serverName+"""/i""").r  
find(MongoDBObject("serverName" -> regexp))
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top