mongotemplate嵌套查询实例代码
时间: 2023-08-27 17:07:05 浏览: 110
MongoDB 查询操作的实例详解
以下是一个MongoTemplate嵌套查询的示例代码:
假设有一个名为“person”的集合,其中每个文档包含以下字段:
- _id: ObjectId
- name: String
- age: Integer
- contact: Object,包含以下字段:
- email: String
- phone: String
- address: Object,包含以下字段:
- city: String
- state: String
- country: String
现在,假设我们需要查找所有在中国的30岁以下的人的姓名和电子邮件地址。我们可以使用以下代码:
```
Query query = new Query();
query.addCriteria(Criteria.where("age").lt(30));
query.addCriteria(Criteria.where("address.country").is("China"));
query.fields().include("name").include("contact.email");
List<Person> persons = mongoTemplate.find(query, Person.class);
```
在上面的代码中,我们首先创建一个查询对象,并添加两个条件:
- 年龄小于30岁的人
- 住在中国的人
我们还使用query.fields()方法来指定我们只需要返回姓名和电子邮件地址这两个字段。最后,我们使用mongoTemplate.find()方法进行查询,并将结果存储在一个Person对象的列表中。
请注意,上面的代码中,我们使用了“Criteria.where()”来创建条件,并使用“query.addCriteria()”将其添加到查询中。我们还使用了“query.fields()”来指定要返回的字段。
阅读全文