【发布时间】:2021-05-30 13:30:48
【问题描述】:
我是 MongoDB 新手,在这里有点疯狂。我正在使用最新的 mongo-java-driver 版本和 dropwizard。
我使用 POJO 写入 DDBB,它有效。但是,在尝试获取元素时,我没有得到实际的 _id。这是我尝试过的:
DDBB 文档
{
_id:603c249cbb33487d9baa49f8,
name:"John"
}
人员类
public class Person {
@BsonProperty("_id")
@BsonId
private ObjectId id;
@NotNull
@JsonProperty
private String name;
}
返回:
{
"id": {
"timestamp": 1614554268,
"counter": 11160056,
"machineIdentifier": 12268360,
"processIdentifier": 32155,
"timeSecond": 1614554268,
"time": 1614554268000,
"date": 1614554268000
},
"name": "John"
}
如您所见,它不会返回实际的 _id(例如 603c249cbb33487d9baa49f8)。我尝试将 id 设为字符串,但出现错误 Failed to decode 'Person'. Decoding '_id' errored with: readString can only be called when CurrentBSONType is STRING, not when CurrentBSONType is OBJECT_ID.
我遵循了几个指南,并在这里搜索了问题,但似乎没有任何效果。
非常感谢任何帮助!
【问题讨论】:
标签: java mongodb dropwizard mongodb-java