我正在使用 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/