我尝试用Casbah和Salat编写查询来查询包含名称部分的字段。 我尝试使用这样的正则表达式(在SalatDAO中):
val regexp = (""".*"""+serverName+""".*""").r
val query = "serverName" -> regexp
val result = find(MongoDBObject(query))
和
val regexp = ".*"+serverName+".*"
该记录位于MongoDB中,当我使用完整名称搜索它时,它可以正常工作。
如何告诉casbah搜索字符串的一部分是正确的方法?
我想解决的另一件事是参数的字符串连接。 是否有任何默认方式来使用casbah转义输入参数,因此参数不是 解释为javascript命令?
最诚挚的问候, 奥利弗
答案 0 :(得分:1)
在mongodb shell中,您可以通过
找到包含特定字符串的服务器名称db.collection.find({serverName:/whatever/i})
我对casbah没有任何经验,我相信它一定是这样的。请测试
val regexp = ("""/"""+serverName+"""/i""").r
find(MongoDBObject("serverName" -> regexp))