设为首页 加入收藏

TOP

mongodb学习(java操作mongodb)
2015-11-21 01:40:10 来源: 作者: 【 】 浏览:0
Tags:mongodb 学习 java 操作

在mysql,sqlserver和orcale中都提供了java的驱动,为我们封装好了很多的接口,在java层调用起来了是很方便的。在mongodb中同样为我们提供了这样的驱动。和mysql一样,我们只需将下载好的mongo.jar进行buildPath即可,就可以调用其为我们封装的接口了。

查询已有的数据

    try {
            //建立一个mongo的连接数据库的对象
            Mongo mongo = new Mongo("127.0.0.1:27017");
            //查询所有数据库的明后才能
            List
   
    dataBases = mongo.getDatabaseNames(); // for (String name : dataBases) { // System.out.println(name); // } //创建连接数据库(mydb)的连接 DB db = mongo.getDB("mydb"); //查询mydb中所有的集合名称 Set
    
     set = db.getCollectionNames(); // for (String collectionName : set) { // System.out.println(collectionName); // } //查询students集合中的所有数据 DBCollection dbCollection = db.getCollection("students"); DBCursor dbCursor = dbCollection.find(); //将该cursor序列化成json对象 System.out.println(JSON.serialize(dbCursor)); // while (dbCursor.hasNext()) { // DBObject object = dbCursor.next(); // System.out.println(object.get("name"));//得到name字段的值 // } } catch (UnknownHostException e) { e.printStackTrace(); } catch (MongoException e) { e.printStackTrace(); }
    
   

新建一个”mongnew”数据库,并且插入一条数据

//建立一个mongo的连接数据库的对象 Mongo mongo = new Mongo("127.0.0.1:27017"); //创建一个mongonew数据库 DB db = mongo.getDB("mongonew"); //创建一个集合,并且插入一条记录 DBObject dbObject = new BasicDBObject(); dbObject.put("age",22); dbObject.put("name","张三"); List
    
     fruits = new ArrayList<>(); fruits.add("orange"); fruits.add("apple"); fruits.add("water"); dbObject.put("fruits",fruits); DBCollection teacherCollection = db.getCollection("teachers");//得到teacher集合 teacherCollection.insert(dbObject);//插入dbObject
    

批量插入数据

List
     
      dbList = new ArrayList<>(); DBObject object = null; for (int i = 1; i < 4; i++) { object = new BasicDBObject(); object.put("age",i); object.put("name","aName"+i); dbList.add(object); } DBCollection teacherCollection2 = db.getCollection("teachers");//得到teacher集合 teacherCollection2.insert(dbList);//批量插入dbObject,参数是一个list集合
     

根据条件删除数据

删除age=3的数据

DBCollection dbCollection3 = db.getCollection("teachers"); dbCollection3.remove(new BasicDBObject("age",3));

给集合批量增加属性

DBCollection dbCollection4 = db.getCollection("teachers"); DBObject updateObject = new BasicDBObject(); updateObject.put("$set",new BasicDBObject("passworld","123")); dbCollection4.update(new BasicDBObject(),updateObject,false,true);

只查询某些字段

DBCollection dbCollection5 = db.getCollection("teachers"); DBObject keys = new BasicDBObject(); keys.put("_id",false); keys.put("name",true); keys.put("passworld",true); DBCursor dbCursor = dbCollection5.find(null,keys); DBObject dbObjec = null; while (dbCursor.hasNext()) { dbObjec = dbCursor.next(); System.out.println(JSON.serialize(dbObjec)); }

分页查询

//分页查询 DBCollection dbCollection6 = db.getCollection("teachers"); DBCursor cursor = dbCollection6.find().limit(2).skip(0); DBObject dbObject = null; while (cursor.hasNext()) { dbObject = cursor.next(); System.out.println(JSON.serialize(dbObject)); }

分页查询指定的键

DBCollection dbCollection6 = db.getCollection("teachers"); DBObject keys = new BasicDBObject(); keys.put("_id",false); keys.put("name",true); keys.put("passworld",true); DBCursor cursor = dbCollection6.find(null,keys).limit(2).skip(0); DBObject dbObject = null; while (cursor.hasNext()) { dbObject = cursor.next(); System.out.println(JSON.serialize(dbObject)); }
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇cmd控制台插入mysql数据库中文信.. 下一篇Having与Where的区别

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: