首页 > 解决方案 > Distinct后如何在Spring Boot MongoDB中返回具有特定字段的对象

问题描述

我正在使用 Spring Boot 1.4.2 和 MongoDB 3.4.6。

{
    "_id" : "File001.1",
    "serialNumber" : "F001",
    "account" : {
        "accountName" : "ACCT01",
        .
        .
    }
}

尝试从 MongoDB 集合中获取记录说“帐户”,其中只有字段说“序列号”和“帐户.帐户名”的数据

Query query = new BasicQuery("{}", "{serialNumber:1, account.accountName:1}");
List<Account> accounts = mongoTemplate.getCollection("Account")
                    .distinct("serialNumber", query.getQueryObject());

上面返回字符串 [serialNumber's] 的列表,而不是具有仅字段 ["serialNumber", "account.accountName"] 的值的 Account 对象。

任何人都可以帮助如何在 Distinct 之后仅使用两个字段获取帐户列表而不是字符串列表?谢谢

标签: mongodbspring-bootmongotemplate

解决方案


推荐阅读