我有MongoDB的Spring网络应用程序.目前我总是从数据库中永久删除数据.
@Repository
public class SessionRepository extends CrudRepository implements SessionService {
...
@Override
public void insert(Session session) {
saveRoom(session);
getTemplate().insert(session);
}
@Override
public void delete(Session session) {
getTemplate().remove(session);
}
...
}
—————–编辑1 ——————-
我现在理解我应该做的事情,感谢Sarath Nair.但我不确定如何在Spring中实现它.我有一个Session对象:
@Document(collection = "session")
public class Session {
@Id
private String id;
private Date startDate;
private Date endDate;
//I just put this here
private boolean deleted = false;
public boolean isDeleted() {
return deleted;
}
public void setDeleted(boolean deleted) {
this.deleted = deleted;
}
...
}
我希望字段boolean isDeleted存在于数据库中,但我不想通过Web服务发送该信息.
@Transient不好,因为该字段不会出现在数据库中,也不出现在HTTP响应中.现在我在HTTP响应中发送deleted:false.
我该如何编辑Session类?
解决方法:
在集合中有一个名为is_deleted的附加字段.对于新文档,插入is_deleted为false.删除时只需将该值更新为该文档的true.每当您需要从集合中读取文档时,请为集合传递is_deleted:false.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。