将mongo文档翻译成mongotemplate或mongorepository?

时间:2018-07-18 20:15:57

标签: spring mongotemplate mongorepository

我如何将这个基本句子翻译成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”]

1 个答案:

答案 0 :(得分:0)

MongoRepository非常简单:

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

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

因此,您的存储库可能最终看起来像:

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

有关更多信息,请参见the docs

另外,要解决使用mongoRepository与mongoTemplate之间的区别,请查看this post