查询条件不能否定?

时间:2014-08-04 18:08:47

标签: grails

我的查询条件出现了一个奇怪的错误

not{ ilike "holderFirstName", "Steph%" }

Query of type ILike cannot be negated. Stacktrace follows:
Message: Query of type ILike cannot be negated
    Line | Method
->>  463 | handle                in org.grails.datastore.mapping.mongo.query.MongoQuery$29

1 个答案:

答案 0 :(得分:1)

mongo插件目前不支持否定ilike查询。填充negatedHandlers地图的https://github.com/grails/grails-data-mapping/blob/61662051cd0fa23b43d9ba89e874460cf7b0b16f/grails-datastore-gorm-mongodb/src/main/groovy/org/grails/datastore/mapping/mongo/query/MongoQuery.java#L538处的代码不包含ilike查询,因​​此会触发https://github.com/grails/grails-data-mapping/blob/61662051cd0fa23b43d9ba89e874460cf7b0b16f/grails-datastore-gorm-mongodb/src/main/groovy/org/grails/datastore/mapping/mongo/query/MongoQuery.java#L463周围的异常。

我不知道Mongo本身是否可以支持否定。如果您提交JIRA,我们可以对其进行调查。它可能是Mongo可以处理它并且插件只需要考虑它,或者它可能是Mongo真的没有提供一个好的方法来做到这一点。我不知道答案,但我们当然可以调查一下。