java - MongoDB Java 插入抛出无法找到类 org.variabel.BsonDocument 的编解码器

标签 java json mongodb

我正在使用 Java 学习 MongoDB。我正在尝试使用 Java 驱动程序将数据插入到 MongoDB 中。我使用 org.jsoup.nodes.Document 的文档。所以我创建了扩展 org.bson.Document 的类 BsonDocument。 但我得到了错误:

Can't find a codec for class org.variabel.BsonDocument

这是类 org.variabel.BsonDocument :

import java.util.Map;
import org.bson.Document;
public class BsonDocument extends Document{
    public BsonDocument() {
        super();
    }

    public BsonDocument(Map<String, Object> map) {
        super(map);
    }

    public BsonDocument(String key, Object value){
        super(key, value);
    }
}

在另一个类中实现:

MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
// Now connect to your databases
MongoDatabase db = mongoClient.getDatabase("tes123");

BsonDocument document = new BsonDocument();

document.put("name", "Sony");
document.put("age", 30);
document.put("createdDate", new Date());
db.getCollection("tes123").insertOne(document);

最佳答案

我尝试了你的代码,只改变了一行,结果就正确了。 这是我的版本

import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;

import java.util.Date;

/**
 * @author Hanz
 * @date 2019/8/22
 */
public class testDocument {
    public static void main(String[] args){
        MongoClient mongoClient = new MongoClient("127.0.0.1",27017);   // i changed this 'localhost' to '127.0.0.1'
        MongoDatabase db = mongoClient.getDatabase("test");

        BsonDocument document = new BsonDocument();
        document.put("name", "Sony");
        document.put("age", 30);
        document.put("createdDate", new Date());
        db.getCollection("tes123").insertOne(document);
    }

}

另一个文件与你的相同,但以防万一,这是我的代码

import org.bson.Document;
import java.util.Map;
/**
 * @author Hanz
 * @date 2019/8/22
 */
public class BsonDocument extends Document {

    public BsonDocument() {
        super();
    }

    public BsonDocument(Map<String, Object> map) {
        super(map);
    }

    public BsonDocument(String key, Object value){
        super(key, value);
    }
}

您检查过您的 mongo 数据库是否有数据库“test123”? 希望您解决了这个问题或者这个答案可以帮助您:)

关于java - MongoDB Java 插入抛出无法找到类 org.variabel.BsonDocument 的编解码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42548222/

相关文章:

java - 无法弄清楚我的 DocumentFilter 出了什么问题

java - 自动将字符串转换为动态确定的类型?

java - 将 JSON 字段序列化为 JSON

java - 尝试使用 JSON 简单解析 JSON 时出现 NoClassDefFoundError

javascript - highchart xaxis 日期时间和 yaxis 数据

php - Symfony2 - 数据库级别 onDelete Cascade 不会触发生命周期事件

javascript - Mongoose/MongoDB - 引用另一个没有 ObjectId 的模式

angularjs - 我如何开始使用 MEAN.IO?

Java 初学者 : convert an image to a binary array

java - hibernate 级联删除不起作用