Grails MongoDB FindAll不适用于特殊字符

时间:2014-07-09 15:32:48

标签: mongodb grails gorm findall

我一直在尝试为我的grails项目添加搜索功能

这是我的域名

class Resource {
    String mimeType
    String resourceUrl
    String website
    static constraints = {
    }
}

这是我的控制器

class ResourceController {
def report()
    {
    def website = params.website
    println "inside report " + website
    def res = Resource.findAllByWebsite(website)
    int noOfResources = res.size()
    println noOfResources
    }

此代码适用于没有任何特殊字符(例如www.google.com)的网站价值,但出于某种原因,只要网站中有任何特殊字符,您的价值是多少?或者任何东西,它不会从数据库中获取任何东西。请建议我另一种方法。

我也试过这个:def res = Resource.findAllByWebsiteLike(website)但它也没有用。

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用正则表达式搜索?

如:

def searchMap
searchMap.put(fieldSearch, [ '$regex' : website, '$options': 'i'] )
def res = Resource.collection.find(searchMap)