黑马十次方项目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();
}
}
结果输出如下
大于条件查询
查询访问量大于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);
结果如下