本文着重介绍mongonDB的原理及安装,最后送大家一个简单的列子,有可以运行的列子和原理,相信大家很容易学会mongonDB ^_^
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。意在为WEB应用提供可扩展的高性能数据存储解决方案。
它有一下几个特点:
1.模式自由。 ( 像json数据一样可以自由的宽展)
2.支持动态查询。
3.支持完全索引,包含内部对象。
4.支持查询。
5.支持复制和故障恢复。
6.使用高效的二进制数据存储,包括大型对象(如视频等)。
7.自动处理碎片,以支持云计算层次的扩展性。
8.支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
9.文件存储格式为BSON(一种JSON的扩展)。
10.可通过网络访问。(和大多数据数据库一样)
下面是个简单的增加和查找的列子,还是那句话不为别的只为读者一最快的速度了解mongonDB
package com;
import java.net.UnknownHostException;
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;
/** * @className:MogonDBDemo.java
* @classDescription:
* @author:jiangmianyue
* @createTime:2011-12-3
*/
public class MogonDBDemo {
/**
* @MethodDescription: one simple example for mogondb
* @author:jiangmianyue
* @createTime:2011-12-3
*/
public static Mongo mongo=null; // Mongo对象
public static DB database=null; // MongonDB的数据库对象
public static DBCollection collection = null; // 类似于关系数据库的表
// 静态语句块,当与类同事加载,可以一个防止频繁初始化
static{
try {
/**
* 初始化mogondb对象如果是本机Mongo()是个无参数的构造函数,如果是其他网络上的Mongo写成
* Mongo("http://233.23.11.8:端口号/数据库")的形式
*/
mongo = new Mongo();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
// 获取一个叫xuehanDB的数据库,若没有此数据库就会新建一个
database = mongo.getDB("xuehanDB");
// 获取一个teacher集合没有新建一个
collection = database.getCollection("people");
}
public static void main(String[] args) {
Teacher t1 = new Teacher();
t1.setId(1);
t1.setName("teacher1");
insertOne(t1);
query();
}
// 增加一个对象
public static void insertOne(Teacher teacher){
BasicDBObject baseObject = new BasicDBObject();
baseObject.put("id", teacher.getId());
baseObject.put("name", teacher.getName());
collection.insert(baseObject);
}
// 为对应Id的老师增加学生,例如给Id为1的老师增加学生
// 查询出所有的teacher并打印出来
public static void query(){
DBCursor cur = collection.find();
while (cur.hasNext()) {
System.out.println(cur.next());
}
}
}
// 新建一个teacher对象
class Teacher{
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
下载官方的mongonDB数据库解压到F:\job\db "cmd"进入dos界面,进入到mongonDB的bin目F:\job\db\mongodb-win32-i386-2.0.2-rc1\bin>敲入命令mongod.exe --dbpath F:\job\db\data(必须建立F:\job\db\data文件夹,文件夹名字可以随意不过路径不能有中文)敲回车mongod启动成功
运行java文件可以看到一下结果:
{ "_id" : { "$oid" : "4ed9cc01ffbf19d82ed3102b"} , "id" : 1 , "name" : "student1"}
{ "_id" : { "$oid" : "4ed9cc01ffbf19d82ed3102c"} , "id" : 1 , "name" : "student1"}
{ "_id" : { "$oid" : "4ed9cc19ffbf45716606bfb8"} , "id" : 1 , "name" : "teacher1"}
{ "_id" : { "$oid" : "4ed9cc92ffbf98ec2a4b8e36"} , "id" : 1 , "name" : "teacher1"}
每运行一次记录增加一条,呵呵,恭喜你你的mongodb第一个小程序运行成功