首页 / JAVA / java中操作Mongodb
java中操作Mongodb
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java中操作Mongodb,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2710字,纯文字阅读大概需要4分钟。
内容图文
Mongodb是一个nosql型的数据库,存储的是类似于json对象,能够支持类似于关系型数据库的一些操作。以下是java操作mongodb。
一、建立连接(没有使用任何框架,连接是自己写的,同时在这个类写了关闭连接的方法),传入ip地址、端口和数据库名称(mongodb称集合)
public class MongoDbConn { private static MongoClient mongoClient = null; privatestatic MongoDatabase mongoDatabase = null; publicstatic MongoDatabase getDatabase(String ipaddress,int port,String dbName) { mongoClient = new MongoClient(ipaddress, port); mongoDatabase = mongoClient.getDatabase(dbName); return mongoDatabase; } publicstaticvoid closeDatabase(){ try{ if(mongoClient!=null){ mongoClient.close(); } }catch(Exception e){ thrownew RuntimeException(); }finally{ mongoClient = null; } } }
二、使用操作,以下是查询的例子
public List<Data> getAllAbsData(RankParam rankParam) { List<Data> dataList = new ArrayList<Data>(); MongoDatabase mongoDatabase = MongoDbConn.getDatabase("localhost", 27017, "area_new"); MongoCollection<Document> collection = mongoDatabase.getCollection("vaabs_monthly"); FindIterable<Document> findIterable = null; if ("vaabs".equals(rankParam.getIndexCode())) { if (rankParam.getAreaCode() == null || "".equals(rankParam.getAreaCode())) {// 全国 //db.vaabs_monthly.find({"$and":[{"indusId":300},{"areaCode":/.*0000$/}]}) Pattern queryPattern = Pattern.compile(".*0000$", Pattern.CASE_INSENSITIVE); BasicDBObject queryObject = new BasicDBObject(); queryObject.put("areaCode", queryPattern); queryObject.put("indusId", rankParam.getIndusId()); findIterable = collection.find(queryObject); }else {//全省所有市的数据 //db.vaabs_monthly.find({"$and":[{"indusId":300},{"date":"2007-01-31"},{"areaCode":/^13/},{"areaCode":/.*00$/},{"areaCode":{"$not":/.*0000$/}}]}) //Pattern startPattern = Pattern.compile("^13", Pattern.CASE_INSENSITIVE); Pattern startPattern = Pattern.compile("^"+rankParam.getAreaCode(), Pattern.CASE_INSENSITIVE); Pattern endPattern = Pattern.compile(".*00$", Pattern.CASE_INSENSITIVE); Pattern notPattern = Pattern.compile(".*0000$", Pattern.CASE_INSENSITIVE); BasicDBObject queryObject = new BasicDBObject().append(QueryOperators.AND, new BasicDBObject[]{new BasicDBObject("indusId",rankParam.getIndusId()), new BasicDBObject("areaCode",startPattern),new BasicDBObject("areaCode",endPattern),new BasicDBObject("areaCode", new BasicDBObject("$not",notPattern)) }); findIterable = collection.find(queryObject); } MongoCursor<Document> mongoCursor = findIterable.iterator(); while (mongoCursor.hasNext()) { Document document = mongoCursor.next(); dataList.add(new Data(document.getString("name"), document.getDouble("value"), document.getString("date"), document.getString("areaCode"), document.getInteger("indusId"))); } }else{ } return dataList; }
原文:http://www.cnblogs.com/fengmao/p/7596455.html
内容总结
以上是互联网集市为您收集整理的java中操作Mongodb全部内容,希望文章能够帮你解决java中操作Mongodb所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。