MongoDB 从 Object.class 获取 ObjectID

uni*_*niQ 3 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;
    @Field("Address")
    private Address address;

}
Run Code Online (Sandbox Code Playgroud)

使用find(Query query,<T> entityClass)操作获取用户并映射到 UserData.class

有什么方法可以获取代表用户的文档的 objectID。(我无法编辑 UserData.java,因为它是只读文件)

Aym*_*men 5

您可以使用类型StringObjectId

public class UsersDataWithId extends UsersData {
    @Id
    private String id;
}
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用DocumentMongoDB 驱动程序中的类型

MongoCollection<Document> collection = database.getCollection("users");
Document myDoc = collection.find().first();
myDoc.get("_id")
Run Code Online (Sandbox Code Playgroud)