Spring 数据 MongoDB NotLike - 不支持的关键字

Spring Data MongoDB NotLike - Unsupported keyword

我已经配置了一个 Spring 数据存储库 (mongoDB) 和作者实体如下:

Repository :
   public interface AuthorRepository extends MongoRepository< Author, Long > {
        Iterable<Author> findByFirstName( String personName );
        Iterable<Author> findByFirstNameLike( String personName );
        Iterable<Author> findByFirstNameNotLike( String firstName );
    }
Entity Class :   
    @Document( collection = "author" )
    @Data
    public class Author {
        @Id
        private String          id;

        private String          firstName;

      //..
    }

我能够 运行 前两个查询而没有任何错误。但是 "NotLike" 方法给我以下 运行 时间错误:

Caused by: java.lang.IllegalArgumentException: Unsupported keyword!
    at org.springframework.data.mongodb.repository.query.MongoQueryCreator.from(MongoQueryCreator.java:252) ~[spring-data-mongodb-1.8.4.RELEASE.jar:na]
    at org.springframework.data.mongodb.repository.query.MongoQueryCreator.create(MongoQueryCreator.java:114) ~[spring-data-mongodb-1.8.4.RELEASE.jar:na]
    at org.springframework.data.mongodb.repository.query.MongoQueryCreator.create(MongoQueryCreator.java:58) ~[spring-data-mongodb-1.8.4.RELEASE.jar:na]
    ...

我查看了 MongoQueryCreator.from(MongoQueryCreator.java:252),发现 Part.Type.NOT_LIKE 没有在 switch-case 语句中处理,它抛出 IllegalArgumentException("Unsupported keyword!");

Spring 数据 MongoDB latest documentation (1.8.4.RELEASE) 表示 NotLike 是受支持的查询关键字。但是在实现中好像少了。

这里有什么遗漏或者我应该提出错误修复吗?

Spring Data MongoDB latest documentation (1.8.4.RELEASE) says NotLike is a supported query keyword. But it seems to be missing in the implementation.

NotLike 在 Spring 数据 MongoDB 的当前 (1.9.1) 版本中仍然不受支持 - 请参阅 Table 5. Supported keywords for query methods。 =15=]

Is there anything missing here or I should raise a bug fix ?

不是错误修复,因为运行时错误与不支持的关键字一致,但您可以在 Spring 数据 MongoDB JIRA 上打开功能请求。

同时,要获取代码 运行,您可以使用 Query annotation or even Querydsl for .[=15= 实现自己的 findByFirstNameNotLike 方法]