如何仅返回 Spring Data MongoDB 中查询的特定字段?

新手上路,请多包涵

我们如何在 Spring Data Mongo 中选择特定字段。我尝试了以下但我得到了从 FooString 的转换异常。

使用 @Query

 @Query(value="{path : ?0}", fields="{path : 0}")
String findPathByPath(String path);

@Query

 String findPathByPath(String path);

这是文档模型

@Document(collection = "foo")
public class Foo  {

  String name, path;
  …
}

原文由 richersoon 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 966
1 个回答

MongoDB 只为标准查询返回 JSON 文档。你想看到的可以通过仍然返回 List<Foo> 来实现。 —中的 @Query fields 属性将导致仅返回设置为1的字段。

 @Query(value="{ path : ?0}", fields="{ path : 0 }")
List<Foo> findByPath(String path);

我们通常建议为此引入一个专用 DTO,以防止将部分填充的 Foo 实例依次交给 save(…)

另一种选择是使用聚合框架,但这更复杂。

原文由 Oliver Drotbohm 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题