开始使用Jongo

时间:2013-09-14 10:57:33

标签: mongodb jackson bson jongo

我正在尝试用Jongo

运行一个“hello world”

我手动添加了jar(不是使用Maven)

这是我运行的代码:

public  class Friend {  
    @Id 
    private String myId;
}

public static void main(String[] args) {
MongoClient mongoClient = new MongoClient( "mydb.mongohq.com", 10014 );
        DB db = mongoClient.getDB( "db-name" );
        Jongo jongo = new Jongo(db);
        MongoCollection friends = jongo.getCollection("collection");
        Friend joe = new Friend();
        friends.save(joe);
}

我犯了这个错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
    at java.lang.System.arraycopy(Native Method)
    at org.bson.io.PoolOutputBuffer.write(PoolOutputBuffer.java:74)
    at org.bson.LazyBSONObject.pipe(LazyBSONObject.java:451)
    at org.jongo.bson.BsonDBEncoder.writeObject(BsonDBEncoder.java:39)
    at com.mongodb.OutMessage.putObject(OutMessage.java:289)
    at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:239)
    at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:204)
    at com.mongodb.DBCollection.insert(DBCollection.java:148)
    at com.mongodb.DBCollection.insert(DBCollection.java:91)
    at com.mongodb.DBCollection.save(DBCollection.java:810)
    at org.jongo.Insert.save(Insert.java:55)
    at org.jongo.MongoCollection.save(MongoCollection.java:128)

2 个答案:

答案 0 :(得分:2)

假设您已经添加了jar依赖项--Jackson 2.1,Bson4Jackson 2.1和Mongo Java Driver 2.9+ - 在我看来,您的朋友类没有私有构造函数。 The mapping section of the documentation详细解释了这一点。

答案 1 :(得分:0)

我的错误是使用Jackson 2.2.1而不是2.1, 在将其更改为2.1后,它运行良好。