我的查询条件出现了一个奇怪的错误
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
答案 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真的没有提供一个好的方法来做到这一点。我不知道答案,但我们当然可以调查一下。