Casbah / Salat:如何查询包含字符串一部分的字段?

时间:2012-01-13 09:05:24

标签: scala mongodb casbah salat

我尝试用Casbah和Salat编写查询来查询包含名称部分的字段。 我尝试使用这样的正则表达式(在SalatDAO中):

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

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

该记录位于MongoDB中,当我使用完整名称搜索它时,它可以正常工作。

如何告诉casbah搜索字符串的一部分是正确的方法?

我想解决的另一件事是参数的字符串连接。 是否有任何默认方式来使用casbah转义输入参数,因此参数不是 解释为javascript命令?

最诚挚的问候, 奥利弗

1 个答案:

答案 0 :(得分:1)

在mongodb shell中,您可以通过

找到包含特定字符串的服务器名称
db.collection.find({serverName:/whatever/i})

我对casbah没有任何经验,我相信它一定是这样的。请测试

val regexp = ("""/"""+serverName+"""/i""").r  
find(MongoDBObject("serverName" -> regexp))