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;
}