MongoJack не находит объект

При попытке работать с MongoJack он внезапно начал возвращать ноль с каждым запросом findOneById. Несмотря на то, что объект создается в базе данных и возвращенный идентификатор является действительным.

Код

import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.MongoClient;
import org.mongojack.Id;
import org.mongojack.JacksonDBCollection;
import org.mongojack.WriteResult;

public class test {

    public static void main(String[] args){
        MongoClient mongoClient = new MongoClient();
        DB db = mongoClient.getDB( "test" );

        DBCollection dbCollection = db.getCollection("myobject");
        JacksonDBCollection<MyObject, String> coll = JacksonDBCollection.wrap(dbCollection, MyObject.class,
            String.class);
        MyObject myObject = new MyObject();
        WriteResult<MyObject, String> result = coll.insert(myObject);
        String id = result.getSavedId();
        MyObject savedObject = coll.findOneById(id);

        System.out.println(savedObject);

    }

}

class MyObject{
    @Id
    private String id;
}

Выход которого:

null
Process finished with exit code 0

Тем не менее, запись создается с идентификатором в базе данных.

1 ответ

Я обнаружил, что просто добавив @ObjectId аннотация к id класса MyObject кажется, чтобы решить проблему

class MyObject{
    @Id @ObjectId
    private String id;
}
Другие вопросы по тегам