我正在评估MongoDB和Morphia.我如何模拟"设置"之类的东西,其中只有一个'记录'(我不确定要使用的正确的Mongo术语).我必须覆盖实体类中的save方法吗?如何执行此操作以及如何使用它的示例将非常棒.
例如,我想存储主页配置:
home page settings
show friends list: false
marketing text: "You'll love it here"
main image: main.jpg
Run Code Online (Sandbox Code Playgroud)
如果您基本上只需要为您的应用程序设置一个副本(如单例),那么我会建议这样的事情:
@Entity
class Settings {
@Id int id = 0;
boolean showFriendsList = false;
String marketingText = "You'll love it";
byte[] mainImage = ...;
}
Run Code Online (Sandbox Code Playgroud)
由于id设置为单个值,因此当您调用save时,它将始终更新单个实体.如果你调用insert,并且那里已经有一个,你将收到一个错误(如果你正在检查错误).
您可以使用get/change/save或update语义更新实体.
Datastore ds = ...;
//get/change/save
Settings s = ds.find(Settings.class).get(); //like findOne in the shell/driver
s.showFriendsList = true;
ds.save(s);
//or update
ds.updateFirst(ds.find(Settings.class), ds.creatUpdateOperations(Settings.class).set("showFiendsList", true));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
711 次 |
| 最近记录: |