【问题标题】:Problem with MongoDB @Query annotation/QueryMongoDB @Query 注释/查询的问题
【发布时间】:2021-03-21 10:28:51
【问题描述】:

@Query 注释或Query query = new Query() 出现问题 - 我无法包含/排除某些字段。

我发现代码示例如下:

@Query(value = "{'id': ?0}",fields = "{'id':1}")
User findUserById(String id);

结果应该是只有一个字段的用户 -> id 但它显示其他字段到..

所以我找到了其他示例,例如:

Query query = new Query();
query.fields().include("id");
query.addCriteria(Criteria.where("id").is(id));
User one = mongoTemplate.findOne(query, User.class);

同样的结果..

有什么想法吗?

【问题讨论】:

    标签: spring-boot spring-data spring-data-mongodb


    【解决方案1】:
    Integer findUserById(String id);
    

    使用 Id 的 DataType [like Integer] 只获取 id。

    根据需求/用例更改数据类型

    【讨论】:

    • 但这仍然不是一个解决方案,您的代码会将完整的数据对象映射到具有必填字段的特定 DataType/Object - 但您仍然需要从数据库中获取所有数据
    猜你喜欢
    • 2011-01-25
    • 1970-01-01
    • 2017-06-01
    • 2021-01-21
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多