0

我有两个类,一个使用@Reference 引用另一个。插入时,我将首先插入引用的一个,然后插入带有引用字段的对象。当我在大部分时间取它们时,一切正常。但有时,我遇到了例外

严重:java.lang.RuntimeException:com.google.code.morphia.mapping.MappingException:无法为网络获取参考({“$ref”:“UserContactLink”,“$id”:“50e92481cde5dadc12ff854b”})。 shisoft.db.obj.UserContact.ucs

当我检查 idUserContactLink并且没有具有此 id 的此类文档时。我认为这是因为我上次终止了 mongod 的进度并且事务(在我看来)没有完成并且数据关系已损坏。似乎mongodb没有事务功能,我该怎么办?

4

1 回答 1

1
  1. 没有交易。在许多情况下,您可以重组文档以避免出现问题(嵌入文档,...)

  2. 您总是需要先插入引用的文档。插入后,MongoDB 服务器会创建实体的 ObjectId,然后在引用中使用该实体。您可能希望在引用之前检查 ID(简单检查 null)。

于 2013-01-11T19:13:47.093 回答