文章目录
等于条件查询
- 等于条件查询
- 大于条件查询
在测试类的main方法中,添加如下的代码,即代表了只查询userid为1013的数据. 封装了BasicDBObject 对象中, 把这个对象传递到find方法中,即代表了条件查询
//封装查询的条件
BasicDBObject basicDb = new BasicDBObject("userid", "1013");
//得到集合中的所有的文档
FindIterable 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 spit = spitdb.getCollection("spit");
//封装查询的条件
BasicDBObject basicDb = new BasicDBObject("userid", "1013");
//得到集合中的所有的文档
FindIterable 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 documents = spit.find(basicDb);
结果如下