Java MongoDB从Object.class获取ObjectID

Java MongoDB从Object.class获取ObjectID,java,mongodb,Java,Mongodb,我有一个对象类: import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Field; @Document( collection = "users" ) public class UsersData { @Field("Name") private String name; @Fiel

我有一个对象类:

import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

@Document(
    collection = "users"
)

public class UsersData {
    @Field("Name")
    private String name;
    @Field("Address")
    private Address address;

}
使用
find(查询,entityClass)
操作获取用户,并映射到UserData.class

是否有任何方法可以获取表示用户的文档的objectID。
(我无法编辑UserData.java,因为它是一个只读文件)

您可以使用type
String
ObjectId

public class UsersDataWithId extends UsersData {
    @Id
    private String id;
}
或者,您可以使用MongoDB驱动程序中的
文档
类型

MongoCollection<Document> collection = database.getCollection("users");
Document myDoc = collection.find().first();
myDoc.get("_id")
MongoCollection collection=database.getCollection(“用户”);
Document myDoc=collection.find().first();
myDoc.get(“\u id”)

很抱歉,您的问题有点不清楚。您不能在
UsersData
类中添加
private ObjectId
?是的,我无法编辑UserData类,因为它是只读的(从包中导入)。您可以使用带有投影的mongo模板/存储库来读取用户id。您可以更改查询数据的方式吗?