【发布时间】:2017-10-16 01:06:13
【问题描述】:
虽然这在 mongo 中有效:
> db.collection.distinct( "key", {"position":{$geoWithin:{$box: [[-6.8, 36.7], [-0.5, 43.8]]}}} )
> [ "A", "B" ]
在spring中返回错误
Criteria criteria = Criteria.where("position").within(box);
Query query = new Query();
query.addCriteria(criteria);
List<String> result = mongoOperations.getCollection("collection")
.distinct("key", query.getQueryObject());
java.lang.IllegalArgumentException: 无法序列化类 org.springframework.data.mongodb.core.query.GeoCommand 在 org.bson.BasicBSONEncoder._putObjectField(BasicBSONencoder.java:299) ~[mongo-java-driver-2.14.3.jar:na] 在 org.bson.BasicBSONEncoder.putObject(BasicBSONencoder.java:194) ~[mongo-java-driver-2.14.3.jar:na] 在 org.bson.BasicBSONencoder._putObjectField(BasicBSONencoder.java:255) ~[mongo-java-driver-2.14.3.jar:na] 在 org.bson.BasicBSONEncoder.putObject(BasicBSONencoder.java:194) ~[mongo-java-driver-2.14.3.jar:na] 在 org.bson.BasicBSONencoder._putObjectField(BasicBSONencoder.java:255) ~[mongo-java-driver-2.14.3.jar:na] 在 org.bson.BasicBSONEncoder.putObject(BasicBSONencoder.java:194) ~[mongo-java-driver-2.14.3.jar:na] 在 org.bson.BasicBSONEncoder.putObject(BasicBSONencoder.java:136) ~[mongo-java-driver-2.14.3.jar:na] 在 com.mongodb.DefaultDBEncoder.writeObject(DefaultDBEncoder.java:36) ~[mongo-java-driver-2.14.3.jar:na] 在 com.mongodb.OutMessage.putObject(OutMessage.java:289) ~[mongo-java-driver-2.14.3.jar:na] 在 com.mongodb.OutMessage.writeQuery(OutMessage.java:211) ~[mongo-java-driver-2.14.3.jar:na] 在 com.mongodb.OutMessage.query(OutMessage.java:86) ~[mongo-java-driver-2.14.3.jar:na]
【问题讨论】:
标签: spring mongodb geolocation distinct