社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  MongoDB

找不到类com.mongodb.client.model.geojson.Point的编解码器

Dima • 4 年前 • 294 次点击  

org.bson.codecs.configuration.codeconfigurationexception:找不到类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版)

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54363
 
294 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Dima
Reply   •   1 楼
Dima    5 年前

好的,找到问题了,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));
}