我有一本书上课-
public class Book {
@Id
private int bookId;
private String name;
private String authorName;
}
我的存储库类扩展了mongoRepository
以下是我正在运行的操作步骤-
下面是我的结果-
根据我的理解,只有在删除Library集合中的数据并且在步骤4中没有从聚合中获得任何结果时,才会发生这种情况,因此我们没有将任何内容保存到集合中,这就是为什么要删除文档的原因。并且在失败的情况下,我看不到任何将数据保存到集合的日志,但是当它通过时,我可以看到那些行,因此,总的来说,聚合给出了空值。但这不会发生,因为在我的汇总中,我正在从Book集合中查找另一个集合,并从该集合中添加一些字段。如果Book中有数据,则此聚合将不会给出空结果,在我的情况下,这是正确的,Book中有数据。
我唯一想到的可能是它破坏了步骤3,在Book集合中删除了数据,而当我们将数据存储在Book集合中时,步骤4中的第二个聚合在步骤3完成之前运行。可能吗?还有其他可能破坏它的解决方案吗?
我正在使用MongoDB Shell版本4.2.3。