首页 > 解决方案 > 具有多个字段的MongoDB查询

问题描述

我有兴趣创建更复杂的查询——但我作为起点的代码似乎有一个查询帮助器——如果它是使用帮助器的情况——或者更原始的东西。

https://www.baeldung.com/queries-in-spring-data-mongodb

Query query = new Query();
query.addCriteria(Criteria.where("name").is("Eric"));
List<User> users = mongoTemplate.find(query, User.class);

那么你能不能写 query(where("name").is("Eric")and where("password").is("12345"))

@CrossOrigin
@GetMapping("/api/login2")
@ResponseBody
public Person readUser (
        @PathVariable(value="email", required=false) String email,
        @PathVariable(value="password", required=false) String password,
) {

    Person p =MongoApp.mongoOps().find(query({"email": "as@sd.com", "password": "12345"}), Person.class);

    return p;
}

https://www.codota.com/code/java/methods/org.springframework.data.mongodb.core.query.Query/with

所以-我有兴趣学习如何进行更复杂的查询,以查找用户名,--其他字段--等于-以及在哪里或|。|

标签: javamongodb

解决方案


只需使用andor连接

Criteria searchCriteria = Criteria
        .where("name").lte("Eric")
        .and("password").is("12345");
Query query = Query.query(searchCriteria);
User user = mongoTemplate.findOne(query, User.class);

推荐阅读