3

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

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

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

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

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

我想修复的另一件事是参数的字符串连接。是否有任何默认方法可以使用 casbah 转义输入参数,因此该参数不会被解释为 javascript 命令?

最好的问候,奥利弗

4

1 回答 1

1

在 mongodb shell 中,您可以通过以下方式找到包含特定字符串的服务器名称

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

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

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