mongodb入门及常用操作

/*
        java操作Mongodb
            java操作Mongodb常用的几个类:
                Mongo:连接服务器,执行一些数据库操作的选项,如新建立一个数据库等
                DB:对应一个数据库,可以用来建立集合等操作
                DBCollection:对应一个集合(类似表),可能是我们用得最多的,可以添加删除记录等
                DBObject接口和BasicDBObject对象:表示一个具体的记录,BasicDBObject实现了DBObject,是key-value的数据结构,用起来和HashMap是基本一致的。
                DBCursor:用来遍历取得的数据,实现了Iterable和Iterator
*/
                
                
                
//常用crud
private static void mongodbOperating(){  
        try {  
            //有多种构造方法,选择一种(IP、port)  
            Mongo m = new Mongo( "192.168.21.111" , 27017 );  
            //选择数据库,如果没有这个数据库的话,会自动建立  
            DB  db = m.getDB( "mydb" );  
  
            //建立一个集合(类似于表),和数据库一样,如果没有,会自动建立  
            DBCollection collection = db.getCollection("myCollectionTest");  
            
            //表示一个具体的记录,BasicDBObject实现了DBObject,是key-value的数据结构,用起来和HashMap是基本一致的。
            BasicDBObject doc = new BasicDBObject();  
            doc.put("name", "MongoDB");  
            doc.put("type", "database");  
            doc.put("count", 1);  
  
            BasicDBObject info = new BasicDBObject();  
            info.put("x", 203);  
            info.put("y", 102);  
            doc.put("info", info);  
  
            //插入一条数据,数据如下  
            // {  
            //     "name" : "MongoDB",  
            //     "type" : "database",  
            //     "count" : 1,  
            //     "info" : {  
            //                 x : 203,  
            //                 y : 102  
            //               }  
            //  }  
            // 可以循环插入多条数据  
            collection.insert(doc);  
            //查找第一条数据,显示如下,_id是系统自动帮加上的,全局唯一  
            //{ "_id" : "49902cde5162504500b45c2c" , "name" : "MongoDB" , "type" : "database" , "count" : 1 , "info" : { "x" : 203 , "y" : 102}}  
            DBObject myDoc = collection.findOne();  
            System.out.println(myDoc);  
              
            //插入多条数据  
            for (int i=0; i < 100; i++) {  
                collection.insert(new BasicDBObject().append("i", i));  
            }  
  
              
            //获取文档条数  
            System.out.println(collection.getCount());  
              
            //使用Cursor 获取所有文档  
            DBCursor cursor = collection.find();  
            try {  
                while(cursor.hasNext()) {  
                    System.out.println(cursor.next());  
                }  
            } finally {  
                cursor.close();  
            }  
              
            //查找操作,获取单条记录  
            //{ "_id" : "49903677516250c1008d624e" , "i" : 71 }  
            BasicDBObject query = new BasicDBObject();  
            query.put("i", 71);  
            cursor = collection.find(query);  
            try {  
                while(cursor.hasNext()) {  
                    System.out.println(cursor.next());  
                }  
            } finally {  
                cursor.close();  
            }  
  
            //查找 i>50的项  
            query = new BasicDBObject();  
            query.put("i", new BasicDBObject("$gt", 50));  // e.g. find all where i > 50  
            cursor = collection.find(query);  
            try {  
                while(cursor.hasNext()) {  
                    System.out.println(cursor.next());  
                }  
            } finally {  
                cursor.close();  
            }  
  
  
            //查找 20 list = collection.getIndexInfo();  
            for (DBObject o : list) {  
                System.out.println(o);  
            }  
  
            //获取数据库列表  
            for (String s : m.getDatabaseNames()) {  
                System.out.println(s);  
            }  
            //获取集合列表  
            Set colls = db.getCollectionNames();  
            for (String s : colls) {  
                System.out.println(s);  
            }  
  
            //删除数据库  
            //m.dropDatabase("my_new_db");  
              
  
        } catch (UnknownHostException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        }  
    }  

你可能感兴趣的:(mongodb入门及常用操作)