基于输入列表值

时间:2016-05-05 12:21:26

标签: java jquery

我以下面的格式将数据存储在用户集合的mongoDB中

{
    "_id" : ObjectId("571ded1a1b8bd2c34aaf3c4a"),
    "_class" : "com.unisys.workbench.domain.User",
    "userName" : "admin",
    "password" : "admin",
    "email" : "xyzq@gmail.com",
    "contact1" : "9889482416",
    "contact2" : "1234567890",
    "roles" : [ 
        {
            "roleName" : "ROLE_ADMIN"
        }
    ]
}

基于我在“查询”下面写的roleName的Restive数据

List<User> users= mongoTemplate.find(new Query().addCriteria(Criteria.where("roles.$roleName").is(role)),
                    User.class);

但它总是返回null。

对于下面的电子邮件,查询工作正常

mongoTemplate.findOne(new Query().addCriteria(Criteria.where("email").is(email)),
                    User.class);

1 个答案:

答案 0 :(得分:0)

$ for是什么? 它应该是:

List<User> users= mongoTemplate.find(new Query().addCriteria(Criteria.where("roles.roleName").is(role)),
                User.class);