关系型数据库的组织形式: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();
}
}
更详细的内容,请查看相关官网文档。