0

我如何将这个基本句子翻译成 mongotemplate 或 mongorepository 我需要在集合用户中找到所有不同的名称

db.user.distinct('name');


@Document(collection = "user")
public class User {

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

示例 Json

 {
    "_id" : "12358",
    "name" : "HiMan",
    "description" : "sales category",
}
{
    "_id" : "791127",
    "name" : "HiMan",
    "description" : "",
}
{
    "_id" : "123123",
    "name" : "Rango",
    "description" : "sales Rango",
}

我得到:[“Rango”,“HiMan”]

4

1 回答 1

0

MongoRepository 非常简单:

public interface UserMongoRepository extends MongoRepository<User, String> {     
}

替换String为您的主键类型。就方法而言,它们遵循一个非常简单的模式:findOneByName(String name);其他选项是findAll,findFirstfindDistinct

所以你的存储库最终可能看起来像:

public interface UserMongoRepository extends MongoRepository<User, String> {     
    User findDistinctByName(String name);
}

有关更多信息,请参阅文档

此外,要解决使用 mongoRepository 与 mongoTemplate 之间的差异,请查看这篇文章

于 2018-07-18T20:22:52.063 回答