我试图使用Morphia从java类中使用其id(ObjectId)的字符串表示来返回文档。我怎样才能做到这一点?以下代码片段说明了问题......
@Override
public List<SmsReply> getReplies() {
List<SmsReply> replies = smsProvider.getSmsReplies();
for(SmsReply reply: replies){
System.out.println(reply);
Sms sms = datastore.find(Sms.class, "_id", reply.getExternalMessageId()).get();
sms.getSmsReplies().add(reply);
datastore.save(sms);
}
return smsProvider.getSmsReplies();
}
SmsReply类具有需要查找的Sms文档的ObjectId(externalMessageId)的字符串表示。
感谢您的帮助。
答案 0 :(得分:1)
如果_id是mongo中的ObjectId,则可以使用ObjectId上的String构造函数创建ObjectId实例java:new ObjectId(reply.getExternalMessageId())