Spring Data MongoDB 二:基本查询

一.简介

pringData MongoDB 提供了find方法,方便我们通过java代码实现对MongoDB的查询操作:

Spring Data MongoDB 二:基本查询

 参数说明:

       entityClass:实体class,也就是要把文档转换成对应的实体。

      String collectionName :类似于mysql的表

       query查询语句的实现的方式有两种:

          1: 构造函数   Query (Criteria criteria)

              例如: 查询条件onumber="002"

              mongoTemplate.find (new Query(Criteria.where("onumber").is("002")),entityClass)

             例如:onumber="002" and cname="zcy"

             mongoTemplate.find (new Query(Criteria.where("onumber").is("002").and("cname").is("zcy")),entityClass)

             例如:onumber="002" or cname="zcy"

            mongoTemplate.findOne(new Query(Criteria.where("onumber).is("002").orOperator(Criteria.where("cname").is("zcy"))

 

         Criteria提供了很多方法,我们这边先介绍基本文档的查询操作符:

Spring Data MongoDB 二:基本查询

         2: 子类BasicQuery

           构造函数如下:

Spring Data MongoDB 二:基本查询

     通过看源码我们知道document就是一个json:

               1:  单个查询:  put一个键值对

               2:  多个查询:   初始化一个Map

               3: 也可以把一个json转成Document对象

Spring Data MongoDB 二:基本查询

   例子:

      查询name=A的用户

Spring Data MongoDB 二:基本查询

   查询name=A和name=b的用户

Spring Data MongoDB 二:基本查询

结果:

Spring Data MongoDB 二:基本查询

说明:

      使用Query和子类BasicQuery的区别:

               query:  封装了mongodb的查询语句,提供了where,is之类的查询方法

               BasicQuery: 需要自己来拼凑查询语句,说白了其实就是拼凑json