我有一个名为StudentGroup的Mongo DB集合。这些具有唯一的索引“名称”属性。我已经实现了一个常规的MongoRepository并在其中声明了 Optional findByName(String name)方法。 问题是,尽管听起来很荒谬,但它没有找到任何结果。显然,文档已保存在数据库中。我还有一个自动完成方法,该方法应该将对象列表返回到服务层(findByNameStartingWithIgnoreCase),这是实际需要的方法。 有趣的是,同一事物可以与同一数据库中的其他集合完美配合。实现是相同的,并且我已经三重检查了是否有任何隐藏的复制粘贴错误,但是没有,一切都实现得很好。
更奇怪的是,当我在存储库中调用findAll时,我获得了这些文档的列表。当我在eclipse中调试它并检查返回的列表时,该组的名称实际上是这样表示的:
id= "5caadas..."
name= "
students= ArrayList<E>
...
当我单击名称属性(仍处于检查模式)时,它显示 name =“ Group 1” ,但是只要我松开触摸板(即当我的“单击”完成),检查中的名称返回到 name =“” 。好像正在发生一些奇怪的延迟加载...但是我没有在代码中的任何地方声明这种东西。
有什么想法吗?