我有两个实体
@Entity
public class Place {
private int rating;
public void addRating(int rating) {
rating+=rating;
datastore.save(this);
}
}
@Entity
public class User {
private int rating;
public void addRating(int rating) {
rating+=rating;
datastore.save(this);
}
}
我需要在原子庄园中更新两个对象。我很害怕,mongo没有交易支持。有没有最好的方法以安全的方式做到这一点?
user.addRating(3);
place.addRating(3);
答案 0 :(得分:0)
如果您需要以原子方式执行此操作,请更改数据结构。您在交易中拥有的所有内容都需要进入单个文档。没有其他方法可以模拟交易。
如果您的数据绝对无法做到这一点,那么MongoDB就是错误的工具。
PS:在实体内部拥有数据存储区是一个有趣的"接近恕我直言。