我在Mongodb中有用户和照片文档.每张照片都属于用户,用户可以共享一张照片.假设用户1有p1、p2、p3照片,用户2有p3、p4、p5照片.如果我删除user1(手动使用Compass等工具),p1和p2也应该被删除,而不是p3.如何实现这一点,我需要定义什么样的数据库 struct ?
目前,如果我删除user1,则不会删除任何照片并保留在数据库中,从使用数据库的应用程序的Angular 来看,这会导致数据库损坏.
其Spring Boot应用程序和用户及照片声明如下:
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 {
@Id
private String id;
@DBRef
private Set<Photo> photos;
private String name;
}
@Document
@Data
@Builder
public class Photo {
@Id
private String id;
private String fileName;
}