Java 找不到能够将GeoCommand转换为DBObject的转换器

Java 找不到能够将GeoCommand转换为DBObject的转换器,java,mongodb,spring-data,spring-data-mongodb,Java,Mongodb,Spring Data,Spring Data Mongodb,我无法在spring data mongodb中查询中的地理空间查询,无论是编写自定义查询还是spring数据接口查询,我都会收到此错误,并且mongodb客户端(robomongo)的相同查询工作正常: 以下是查询: distanceRepository.findDistanceBySrcWithin(srcCircle); 以下是mongo的配置: @Override public MongoClient mongo() throws Exception { List<MongoCr

我无法在spring data mongodb中查询
地理空间查询
,无论是编写自定义查询还是spring数据接口查询,我都会收到此错误,并且mongodb客户端(robomongo)的相同查询工作正常:

以下是查询:

distanceRepository.findDistanceBySrcWithin(srcCircle);
以下是mongo的配置:

@Override
public MongoClient mongo() throws Exception {
List<MongoCredential> mongoCredentials = new ArrayList<>();
mongoCredentials.add(MongoCredential.createCredential(userName, "admin", password.toCharArray()));
return new MongoClient(new ServerAddress(host, port), mongoCredentials);
}

@Override
@Bean
public MongoTemplate mongoTemplate() throws Exception {
MultiTenantMongoDbFactory mongoDbFactory = (MultiTenantMongoDbFactory) mongoDbFactory();

MongoTypeMapper typeMapper = new DefaultMongoTypeMapper(null);
MappingMongoConverter converter = new MappingMongoConverter(mongoDbFactory(), new MongoMappingContext());
converter.setTypeMapper(typeMapper);

MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory, converter);
mongoDbFactory.setMongoTemplate(mongoTemplate);
return mongoTemplate;
}

@Override
@Bean
public MongoDbFactory mongoDbFactory() throws Exception {
return new MultiTenantMongoDbFactory(mongo(), dbName);
}

关键是添加以下行:

converter.afterPropertiesSet();
之后

创建
MongoTemplate时

converter.afterPropertiesSet();
MappingMongoConverter converter = new MappingMongoConverter(mongoDbFactory(), 
new MongoMappingContext());
converter.setTypeMapper(typeMapper);