我在Mongodb中有用户文档和照片文档。每张照片都属于用户,并且可以在用户之间共享一张照片。假设user1有p1,p2,p3照片,user2有p3,p4,p5照片。如果我删除user1 (使用诸如指南针之类的工具手动删除),p1和p2也应该被删除,但不能删除p3。如何实现这一点?我需要定义什么样的数据库结构?
目前,如果我删除user1,没有照片被删除并保留在数据库中,从使用数据库的应用程序的角度来看,这会使数据库损坏。
它的Spring Boot应用程序和User和Photo声明为:
import lombok.Builder;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.DBRef;
import org.springframework.data.mongodb.core.mapping.Document;
@Document
@Data
@Builder
public class User {
private String id;
@DBRef
private Set<Photo> photos;
private String name;
@Document
@Data
@Builder
public class Photo {