首页 > 数据库 >Java实现对MongoDB的AND、OR和IN操作

Java实现对MongoDB的AND、OR和IN操作

时间:2023-02-19 22:37:17浏览次数:58  
标签:dbCursor BasicDBObject queryCondition MongoDB values assertEquals new Java 操作


很全的JAVA操作mongodb:

​http://www.blogjava.net/xiaomage234/archive/2012/08/06/384904.html​

 

转的:

 

AND:

public void testAnd(){  
//agender='female' AND age > 27
DBObject queryCondition = new BasicDBObject();
queryCondition.put("agender", "female");
queryCondition.put("age", new BasicDBObject("$gt", 27));
DBCursor dbCursor = coll.find(queryCondition);
assertEquals(1, dbCursor.size());
assertEquals("Jane", dbCursor.next().get("username"));
}

 

OR:

public void testOrSingleField(){  
DBObject queryCondition = new BasicDBObject();
//age<15 OR age>27
queryCondition = new BasicDBObject();
BasicDBList values = new BasicDBList();
values.add(new BasicDBObject("age", new BasicDBObject("$gt", 27)));
values.add(new BasicDBObject("age", new BasicDBObject("$lt", 15)));
queryCondition.put("$or", values);

DBCursor dbCursor = coll.find(queryCondition);
assertEquals(3, dbCursor.size());
assertEquals("tom", dbCursor.next().get("username"));
}

 

OR:

public void testOrMultiFields(){  
DBObject queryCondition = new BasicDBObject();
//agender=female OR age<=23
queryCondition = new BasicDBObject();
BasicDBList values = new BasicDBList();
values.add(new BasicDBObject("agender", "female"));
values.add(new BasicDBObject("age", new BasicDBObject("$lte", 23)));
queryCondition.put("$or", values);

DBCursor dbCursor = coll.find(queryCondition);
assertEquals(4, dbCursor.size());
assertEquals("Jim", dbCursor.next().get("username"));
}

 

IN:

public void testIn(){  
DBObject queryCondition = new BasicDBObject();
//age in [13, 47]
queryCondition = new BasicDBObject();
BasicDBList values = new BasicDBList();
values.add(13);
values.add(47);
queryCondition.put("age", new BasicDBObject("$in", values));

DBCursor dbCursor = coll.find(queryCondition);
assertEquals(2, dbCursor.size());
assertEquals("tom", dbCursor.next().get("username"));
}

 

 

 


标签:dbCursor,BasicDBObject,queryCondition,MongoDB,values,assertEquals,new,Java,操作
From: https://blog.51cto.com/u_21817/6066894

相关文章

  • MongoDB常用查询
    转的:shell#查询查询name="bruce"的数据db.users.find({name:"bruce"});条件操作符$gt:>$lt:<$gte:>=$lte:<=$ne:!=、<>$in:in$nin:notin$all:all$not......
  • 常用java路径
    System.out.println(LmsFEMain.class.getClassLoader().getResource(""));//file:/E:/workspace/FEServer/bin/System.out.println(ClassLoader.getSystemResource("")......
  • MongoDB与Redis可以做什么
    1、MongoDB适合做什么MongoDB适合储存大量关联性不强的数据。MongoDB中的数据以“库”—“集合”—“文档”—“字段”结构进行储存。这种结构咋看和传统关系型数据库的“......
  • java 解析 文本
     /***读取文本文件*@paramfilepath*@return*/publicstaticStringBuilderparser(Stringfilepath){InputStreaminStream=StrUtils.class.getR......
  • java 导出 excel
    转的: 鉴于windows操作系统及office办公平台,在个人桌面上的垄断地位,使得excel/word/ppt等文件被广泛应用。通过java读写excel文档是编程开发中常见问题,比如在swing和web应......
  • Java: File
    importjavafx.application.Application;//https://gluonhq.com/products/javafx/https://github.com/openjdk/jfximportjavafx.fxml.FXMLLoader;//https://gluo......
  • DVWA靶场实战(十四)——JavaScript
    DVWA靶场实战(十四)五、JavaScript:1.漏洞原理:这里的JavaScript其实是JavaScriptAttack也就是JS攻击。JavaScript是一种基于对象和事件驱动的、并具有安全性能的脚本......
  • JavaScript知识汇总
    1JavaScript功能直接写入HTML输出流(在HTML输出中使用document.write,如在文档加载后使用该方法会覆盖整个文档)对事件进行响应(如鼠标事件、键盘事件等)改变HTML内......
  • 算法刷题-放苹果-JAVA
    0x00引言为获取一个良好的算法思维,以及不再成为一个脚本小子,争取每天一道算法题,培养自己的逻辑思维,温顾各类型语言语法知识。题解只写自己理解的解法,其他解法不再增加。......
  • java的引用
    引用的概念每种编程语言都有自己操作内存中元素的方式,例如在c和c++里是通过指针,而java中通过引用,在java中一切都是对象,操作标识符就是一个引用判断是否回收某个对象引......