以下引发 org.bson.codecs.configuration.CodecConfigurationException:找不到类com.mongodb.client.model.geojson.Point的编解码器。
import com.mongodb.client.model.geojson.Point;
import com.mongodb.client.model.geojson.Position;
@Test
public void test() throws Exception{
BasicDBObject dbo = new BasicDBObject();
dbo.put("name", "some-name");
dbo.put("location", new Point(new Position(100, 200)));
System.out.println(dbo.toJson());
}
我想念什么?我只想看看Java驱动程序如何将我的对象序列化为JSON。 (MongoDB Java驱动程序版本3.8.0)
答案 0 :(得分:0)
好的,发现了问题,BasicDBObject中的默认编解码器没有覆盖geoJSON内容。不确定我所做的是正确的,但似乎可行。
@Test
public void test() throws Exception{
CodecRegistry cr = fromProviders(new ValueCodecProvider(), new BsonValueCodecProvider(), new DBObjectCodecProvider(), new GeoJsonCodecProvider());
codec = cr.get(BasicDBObject.class);
BasicDBObject dbo = new BasicDBObject();
dbo.put("name", "some-name");
dbo.put("location", new Point(new Position(100, 200)));
System.out.println(dbo.toJson(codec));
}