java代码查询mongotemplate,文档中有属性id,name,pointList,其中pointList是集合,集合的元素是对象point,point有属性id,和num;写一条mongo查询sql,查询文档stat_user中id等于123,并且集合中point的id等于456,并且num大于60的有几个
时间: 2024-04-14 20:29:43 浏览: 58
以下是使用Java的MongoTemplate进行查询的示例代码:
```java
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
public class Main {
public static void main(String[] args) {
MongoTemplate mongoTemplate = new MongoTemplate(); // 初始化MongoTemplate
Query query = new Query();
query.addCriteria(Criteria.where("id").is("123")
.and("pointList").elemMatch(
Criteria.where("id").is("456")
.and("num").gt(60)
)
);
long count = mongoTemplate.count(query, "stat_user");
System.out.println("符合条件的文档数量:" + count);
}
}
```
这段代码使用了Spring Data MongoDB的`MongoTemplate`来进行查询。首先,我们创建了一个`Query`对象,并使用`Criteria`来构建查询条件。通过调用`addCriteria`方法可以添加多个条件,其中使用了`elemMatch`来匹配`pointList`集合中的元素。然后,使用`count`方法执行查询并返回符合条件的文档数量。
请确保你已经配置好了MongoDB连接,并正确引入了Spring Data MongoDB依赖。
阅读全文