黑马十次方项目day03-13之java使用mongodb-driver条件查询

等于条件查询

在测试类的main方法中,添加如下的代码,即代表了只查询userid为1013的数据.
封装了BasicDBObject 对象中, 把这个对象传递到find方法中,即代表了条件查询

 //封装查询的条件
 BasicDBObject basicDb = new BasicDBObject("userid", "1013");

 //得到集合中的所有的文档
 FindIterable<Document> documents = spit.find(basicDb);

完整的代码如下

public class MongoTest {
    //测试的main方法
    public static void main(String[] args){
        //连接MongoDB的服务器
        MongoClient client = new MongoClient("1.136");

        //得到要操作的数据库
        MongoDatabase spitdb = client.getDatabase("spitdb");

        //得到要操作的集合
        MongoCollection<Document> spit = spitdb.getCollection("spit");

        //封装查询的条件
        BasicDBObject basicDb = new BasicDBObject("userid", "1013");

        //得到集合中的所有的文档
        FindIterable<Document> documents = spit.find(basicDb);

        //遍历数据
        for (Document document : documents) {
            System.out.println("内容 :" +document.getString("content"));
            System.out.println("用户id :" +document.getString("userid"));
            System.out.println("访问量  :" +document.getInteger("visits"));
            System.out.println("===========================");
        }
        client.close();
    }
}

结果输出如下
黑马十次方项目day03-13之java使用mongodb-driver条件查询

大于条件查询

查询访问量大于1000的数据
如果用命令来查询大于1000的数据,那么命令如下
db.spit.find({visits:{$gt:1000}})
可以看到是用两个{}的,因此在代码中,就对应了两个BasicDBObject 对象
代码如下
在BasicDBObject对象中嵌套一个BasicDBObject,嵌套的对象用于写入大于的条件

//查询访问量大于1000的数据
BasicDBObject basicDb = new BasicDBObject("visits", new BasicDBObject("$gt",1000));

//得到集合中的所有的文档
FindIterable<Document> documents = spit.find(basicDb);

结果如下
黑马十次方项目day03-13之java使用mongodb-driver条件查询