MongoDB入門列子及原理介紹
本文著重介紹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; }
}
</pre>
下載官方的MongoDB數據庫解壓到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第一個小程序運行成功
轉自: http://xuehanxin.iteye.com/blog/1290563