关系型数据库的组织形式:Database、Table、Record
Mongodb的组织形式:Database、Collection、DBObject
=======================================
MongoDB的安装比较简单,大家可以去官网上下载,然后解压即可完成。
1、MongoDB的启动
可以在任意地方新建你的数据库需要存放的位置,这里我在bin文件夹下新建文件夹“data\db”
找到bin目录下的mongod.exe(这个是MongoDB的服务进程),然后在cmd模式下启动:
mongo -dbpath data\db;
2、测试
使用bin下的mongo.exe可以进行客户端的连接,同样在cmd模式下,进行mongo的测试
....../bin> mongo.exe
会自动匹配到一个数据库,这里我新建了test数据库
3、如果使用java进行MongoDB的访问
1)需要在https://github.com/mongodb/mongo-java-driver/downloads下载最新的java驱动包
2)在eclipse下新建java项目,详细内容不述,下面贴代码结构和源代码。
====测试MongoDB====
package wl.mongodb; import java.net.UnknownHostException; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.Mongo; import com.mongodb.MongoException; import com.mongodb.util.JSON; public class MongoDBMain { public static void main(String args[]){ Mongo mg; try { mg = new Mongo(); // 查询所有的Database for (String name : mg.getDatabaseNames()) { System.out.println("dbName: " + name); } DB db = mg.getDB("test"); for(String name:db.getCollectionNames()){ System.out.println("collection Name "+name); } DBCollection coll = db.getCollection("coll"); DBCursor dbCursor = coll.find(); while(dbCursor.hasNext()){ System.out.println(dbCursor.next()); } System.out.println("记录数:"+dbCursor.count()); System.out.println("游标ID:"+dbCursor.getCursorId()); System.out.println("JSON格式:"+JSON.serialize(dbCursor)); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MongoException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
====测试MongoDB的CRUD操作====
package wl.mongodb; import java.net.UnknownHostException; import java.util.ArrayList; import org.bson.types.ObjectId; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.Mongo; import com.mongodb.MongoException; /* * @Author: coolwzjcool * CRUD-增删该查 */ public class MongoCRUDMain { private Mongo mongodb=null; private DB db; private DBCollection dbcoll=null; /* * 初始化 * * 获取test数据库下的coll集合 * * 默认是protected修饰的,本包下都可以调用 */ MongoCRUDMain(){ try { mongodb = new Mongo(); db = mongodb.getDB("test"); dbcoll = db.getCollection("coll"); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MongoException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /* * 查询所有的数据 */ public void queryAllData(){ DBCursor dbCursor = dbcoll.find(); while(dbCursor.hasNext()) System.out.println(dbCursor.next()); } /* * 查询单条记录 */ public void getData(){ } /* * 增加单条数据 */ public void addData(){ DBObject tt = new BasicDBObject(); tt.put("companyID", "BJ_001"); tt.put("companyTel", "010-12345678"); dbcoll.save(tt); } /* * 增加批量数据 */ public void addBatchData(){ ArrayList al = new ArrayList(); DBObject tt = new BasicDBObject(); tt.put("companyID", "BJ_002"); tt.put("companyTel", "010-98765432"); al.add(tt); DBObject tt1 = new BasicDBObject(); tt1.put("companyID", "BJ_003"); tt1.put("companyTel", "010-88888888"); al.add(tt1); dbcoll.insert(al); this.queryAllData(); } /* * 删除单条记录 */ public void delData(){ dbcoll.remove(new BasicDBObject("_id",new ObjectId("4f558a2490fdf3fd01dc8a19"))); this.queryAllData(); } /* * 修改单条记录 */ public void uptData(){ dbcoll.update(new BasicDBObject("companyID","BJ_004"),new BasicDBObject("companyID","BJ_005") ); this.queryAllData(); } /* * client调用 - Main函数 */ public static void main(String args[]){ MongoCRUDMain mm = new MongoCRUDMain(); //mm.queryAllData(); //mm.addData(); //mm.addBatchData(); //mm.delData(); mm.uptData(); } }
更详细的内容,请查看相关官网文档。